cookies

使用 WebExtensions 获取或设置 cookies, 并且在修改时能够获得通知。

你需要在 manifest.json 文件中开启“cookies”API 权限,并且需要对应站点的 主机权限 才能设置指定站点的 cookie。详细信息查看 cookie 权限.

类型

cookies.Cookie

代表一个 HTTP cookie 的信息。

cookies.CookieStore

代表一个保存在浏览器中的 cookie。

cookies.OnChangedCause

代表 cookie 改变的原因。

方法

cookies.get()

返回一个单独的 cookie 的信息。

cookies.getAll()

返回所有符合筛选条件的 cookies。

cookies.set()

根据给定 cookie 数据设置一个 cookie;如果同样的 cookie 存在讲会覆盖。

cookies.remove()

根据名字删除 cookie。

cookies.getAllCookieStores()

列出所有保存的 cookie。

事件句柄

cookies.onChanged

当设置或删除 cookie 时触发。

权限

为了使用这个 API,插件必须在它的 manifest 中指定"cookies" API 权限,和它想要使用 cookie 的任何网站的 host 权限 。插件将能读取或写入 host 权限中所匹配的 URL 可以读取或写入的任何 cookie。例如:

http://*.example.com/

拥有这个 host 权限的插件将可以:

  • 读取一个www.example.com任意路径下的不安全 cookie。
  • 写入一个www.example.com任意路径下的不安全 cookie。

它不能:

  • 读取www.example.com的安全 cookie。
http://www.example.com/

拥有这个 host 权限的插件将可以:

  • 读取 www.example.com任意路径下的不安全 cookie。
  • 读取 .example.com 任意路径下的不安全 cookie。
  • 写入 www.example.com 任意路径下的安全和不安全 cookie。
  • 写入 .example.com 任意路径下的安全和不安全 cookie。

它不能:

  • 读取或写入 foo.example.com 的 cookie。
  • 读取或写入 foo.www.example.com 的 cookie。
*://*.example.com/

拥有这个 host 权限的插件将可以:

  • 读取或写入 www.example.com 任意路径下安全的和不安全的 cookie。

浏览器兼容性

BCD tables only load in the browser

Edge 不兼容

在 Edge 中不支持 Promises,使用 callbacks 代替。

Example extensions

备注: 这个 API 基于 Chromium 的 chrome.cookies API. 这篇文档来源于 Chromium 代码的 cookies.json

Microsoft Edge 兼容性数据由 Microsoft Corporation 提供,并包含在 Creative Commons Attribution 3.0 United States License.