Chrome 浏览器插件 cookies API 解析

这篇具有很好参考价值的文章主要介绍了Chrome 浏览器插件 cookies API 解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Chrome.cookie

前端开发肯定少不了和 cookie 打交道,此文较详细的介绍下 chrome.cookieAPI 以及在 popup、service worker、content 中如何获取的

一、权限(Permissions)

如果需使用 Cookie API,需要在 manifest.json 文件中添加权限(Permissions)和主机权限(host_permissions)字段

"permissions": [    
    "cookies"
],
"host_permissions": [
    "https://*.lkcoffee.com/*"
]

比如,我需要获取 domain.lkcoffee.comcookie,就需要在 host_permissions 中进行 host 的配置

二、类型(Types)

1. Cookie

表示关于 HTTP Cookie 的信息。

属性
  • domain: string
    • cookiedomain
  • expirationDate: number 可选
    • Cookie 的有效期
  • hostOnly: boolean
    • host-only 时为 true
  • httpOnly: boolean
    • httpOnly 时为 true
  • name: string
    • 名称
  • partitionKey: CookiePartitionKey 可选
    • 用于通过分区属性读取或修改 Cookie 的分区键。
  • path: string
    • 路径
  • sameSite: SameSiteStatus
    • 同网站状态。
  • secure: boolean
    • Secure
  • session: booean
    • 是否是会话
  • storeId: string
    • 包含此 CookieCookie 存储区的 ID,如 getAllCookieStores() 中所提供。
  • value: string
    • cookie

2. CookieDetails

用于标识 Cookie 的详细信息。

属性
  • name: string
    • 要访问的 Cookie 的名称。
  • partitionKey: CookiePartitionKey 可选
    • 用于通过分区属性读取或修改 Cookie 的分区键。
  • storeId: string 可选
    • 要在其中查找 CookieCookie 存储区的 ID
  • url: string
    • 与要访问的 Cookie 相关联的网址。

3. CookiePartitionKey

表示分区 Cookie 的分区键。

属性
  • topLevelSite: string 可选
    • 提供分区 Cookietop-level

4. CookieStore

表示浏览器中的 Cookie 存储

属性
  • id: string
    • Cookie 存储区的唯一标识符。
  • tabIds: number[]
    • 共享此 Cookie 存储区的所有浏览器标签页的标识符。

5. OnChangedCause

Cookie 发生更改的根本原因。

如果 Cookie 已插入或通过显式调用 chrome.cookies.remove 被移除,为 explicit。如果 Cookie 是因过期而自动移除的,为 expired。如果 Cookie 因被已过期的失效日期覆盖而被移除,为 expired_overwrite。如果 Cookie 因垃圾回收而自动移除,为 evicted。如果 Cookieset 调用覆盖而自动移除,为 overwrite

枚举
  • evicted
  • expired
  • explicit
  • expired_overwrite
  • overwrite

6. SameSiteStatus

CookieSameSite 状态。

no_restrictionSameSite=NonelaxSameSite=LaxstrictSameSite=Strictunspecified 为没有设置 SameSite 属性的 Cookie

枚举
  • no_restrictionSameSite=None
  • laxSameSite=Lax
  • strictSameSite=Strict
  • unspecified:没有设置 SameSite

三、方法(Methods)

1. get()

检索单个 Cookie 的相关信息。如果指定网址存在多个同名的 Cookie,则返回路径最长的 Cookie。对于具有相同路径长度的 Cookie,系统将返回创建时间最早的 Cookie

1.1 示例
chrome.cookies.get(
  details:
  CookieDetails,
  callback?:
  function,
)
1.2 参数
  • details: CookieDetails
  • callback: function 可选
    • (cookie?: Cookie)=>void
1.3 返回
  • Promise<Cookie|undefined>

2. getAll()

从单个 Cookie 存储区中检索符合指定信息的所有 Cookie。返回的 Cookie 将进行排序,路径最长的 Cookie 排在最前面。如果多个 Cookie 具有相同的路径长度,创建时间最早的 Cookie 会排在最前面。此方法仅检索扩展程序拥有主机权限的网域的 Cookie。

2.1 示例
chrome.cookies.getAll(
  details:
  object,
  callback?:
  function,
)
2.2 参数
  • details: object
    • domain: string 可选
    • name: string 可选
    • partitionKey: CookiePartitionKey 可选
      • 用于通过分区属性读取或修改 Cookie 的分区键。
    • path: string 可选
    • secure: boolean 可选
    • session: boolean 可选
    • storeId: string 可选
    • url: string 可选
  • callback: function 可选
    • (cookies:Cookie[])=>void
2.3 返回
  • Promise<Cookie[]>

3. getAllCookieStores()

列出所有现有的 Cookie 存储。

3.1 示例
chrome.cookies.getAllCookieStores(
  callback?:
  function,
)
3.2参数
  • callback: function 可选
    • (cookieStores: CookieStore[])=>void
3.3 返回
  • Promise<CookieStore[]>

4. remove()

按名称删除 Cookie。

4.1 示例
chrome.cookies.remove(
  details:
  CookieDetails,
  callback?:
  function,
)
4.2 参数
  • details: CookieDetails
    • name: string
    • partitionKey: CookiePartitionKey 可选
      • 用于通过分区属性读取或修改 Cookie 的分区键。
    • storeId: string
    • url: string
  • callback: function 可选
    • (details?:object)=>void
4.3 返回
  • Promise<object|undefined>

5. set()

使用指定的 Cookie 数据设置 Cookie;可能会覆盖等效的 Cookie(如果存在)。

5.1 示例
chrome.cookies.set(
  details:
  object,
  callback?:
  function,
)
5.2 参数
  • details: object
    • domain: string 可选
      • cookiedomain
    • expirationDate: number 可选
      • Cookie 的有效期
    • httpOnly: boolean 可选
      • httpOnly 时为 true
    • name: string 可选
      • 名称
    • partitionKey: CookiePartitionKey 可选
      • 用于通过分区属性读取或修改 Cookie 的分区键。
    • path: string 可选
      • 路径
    • sameSite: SameSiteStatus 可选
      • 同网站状态。
    • secure: boolean 可选
      • Secure
    • storeId: string 可选
      • 包含此 CookieCookie 存储区的 ID,如 getAllCookieStores() 中所提供。
    • url: string
    • value: string 可选
      • cookie
  • callback: function 可选
    • (cookie?:Cookie)=>void
5.3返回
  • Promise<Cookie|undefined>

四、Action Popup 模块获取 Cookies

// 根据 domain 获取
const cookies = await chrome.cookies.getAll({ domain:  '.lkcoffee.com'})
console.log('popup cookies--->', cookies)
// 根据 url 获取
const urlCookies = await chrome.cookies.getAll({ url: url })
console.log("popup urlCookies", urlCookies);

Chrome 浏览器插件 cookies API 解析,前端,Chrome,浏览器插件,chrome,网络,前端,Chrome.cookies,浏览器插件,chrome devtools

五、Background Service Worker 模块获取 Cookies

const cookies = await chrome.cookies.getAll({ domain:  '.lkcoffee.com'})
console.log('service worker cookies--->', cookies)

Chrome 浏览器插件 cookies API 解析,前端,Chrome,浏览器插件,chrome,网络,前端,Chrome.cookies,浏览器插件,chrome devtools

六、Content Scripts 模块获取 Cookies

因为 Content Scripts 是注入当前页面的,所以和 web 一样获取即可文章来源地址https://www.toymoban.com/news/detail-810505.html

document.cookie

到了这里,关于Chrome 浏览器插件 cookies API 解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何实现chrome谷歌浏览器多开(独立环境 独立cookie)

    由于各种各样的原因,你可能需要在一个电脑登录某个平台,比如一个电脑登录3个公众号,或者3个知乎等等。 最简单的方案是,直接安装3个不同的浏览器,比如一个谷歌浏览器,一个火狐浏览器,一个 Edge 浏览器。 这个方案也能解决,但如果想多开10个呢? 安装10个不同的

    2024年02月07日
    浏览(98)
  • 浏览器插件下载以及安装----以chrome浏览器中安装Xpath插件进行演示

    初学Spider, 需要Xpath插件, 可是电脑没有自带的插件, 需要自己下载安装, 当然不会, 就来CSDN取经, 看了好多博客, 终于整理出来一套简单实用且全面的插件下载安装说明书! 说明书! 本文章以 chrome浏览器 为例, 因为常用的: 360浏览器, Edge浏览器, IE浏览器等, 它们的插件安装包和以

    2024年02月15日
    浏览(88)
  • 前端(angular)在谷歌(chrome)浏览器使用高德地图api定位报错超时geolocation time out ,能定位但不安全的方法

    已知信息整合 正如大家搜到的大佬说的原因是chrome浏览器本身的问题。我换成edge就可以。 高德地图给出的地图定位api的常见问题,这是\\\'另外还有个别浏览器(如google Chrome浏览器等)本身的定位接口是黑洞\\\' 以下是能定位但不安全的方法 连接上了外网谷歌浏览器定位是定位

    2024年01月23日
    浏览(48)
  • 如何开发一个chrome浏览器插件

    目录 前言 chrome扩展程序 文件结构 manifest.json html和css js 加载插件 调试 总结 当前,chrome浏览器早已成为占据最大的市场份额,也是综合体验最好的浏览器,开发人员使用的浏览器基本都以它为主。 我在使用chrome的过程中,积累增加了很多书签,最多的时候接近上千个,后续

    2024年02月08日
    浏览(61)
  • 谷歌浏览器(chrome)安装crx插件

    1、下载crx插件 2、插件扩展名改名为zip 3、解压zip文件 4、打开谷歌浏览器扩展程序 chrome://extensions/ 5、打开开发者模式,加载已解压的扩展程序,安装成功即如图展示    

    2024年02月11日
    浏览(59)
  • Chrome浏览器安装Axure-Chrome-Extension插件

    Chrome 浏览器打开 Axure 生成的 HTML 静态文件页面时,会显示如下图 AXURE RP EXTENSION FOR CHROME ,这是因为 Chrom e 浏览器没有安装 Axure 插件 Axure-Chrome-Extension 导致的。 1.下载Axure-Chrome-Extension插件压缩包并解压: 2.打开Chrome浏览器,右上角菜单中找到 “扩展程序---管理扩展程序”;

    2024年02月22日
    浏览(51)
  • chrome浏览器必备5款插件--各个都好使--chrome基础

    办公电脑在使用固定期限后,又到了新换电脑的时候,本次新电脑到手后,在浏览器方面依然选择了已经熟悉的chrome浏览器,有一句话说的对,没有插件的chrome浏览器是没有灵魂的。所以在沿用chrome浏览器后,这次也对前期使用的chrome浏览器插件进行了重新的审视和用途的重

    2024年02月09日
    浏览(42)
  • chrome 谷歌浏览器 导出插件拓展和导入插件拓展

    给同事部署 微软 RPA时,需要用到对应的chrome浏览器插件;谷歌浏览器没有外网是不能直接下载拓展弄了半小时后才弄好,竟发现没有现成的教程,遂补充; 谷歌浏览器 地址栏敲 在对应的地址下,找到对应的插件存放位置; 在该文件夹中,对应id找到对应的文件 直接引用这

    2024年02月09日
    浏览(54)
  • 深入解析浏览器Cookie(图文码教学)

    本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主! 也许一个人独行,可以走的很快,但是一群人结伴而行,才能走的更远! Cookie 翻译过来是饼干的意思。 Cookie是一种用于在客户端浏览器和服务器之间进行状态跟踪的技术

    2024年02月16日
    浏览(36)
  • 云服务器配合CookieCloud插件,实现浏览器网站Cookie同步

      CookieCloud是由方糖开发的一个浏览器网站Cookie同步工具,Cookie是一个可以短时间代表我们登录身份的凭证,CookieCloud同步Cookie其实就是在同步登录状态,由一个浏览器插件和一个可以自行搭建的服务器端组成,可以定时地、在本地加密后把Cookie传输到服务器,然后就可以在很

    2024年02月07日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包