cookies

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

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

类型

cookies.Cookie
代表一个HTTP cookie的信息。
cookies.CookieStore (en-US)
代表一个保存在浏览器中的 cookie。
cookies.OnChangedCause (en-US)
代表 cookie 改变的原因。

方法

cookies.get() (en-US)
返回一个单独的 cookie 的信息。
cookies.getAll() (en-US)
返回所有符合筛选条件的 cookies。
cookies.set() (en-US)
根据给定cookie数据设置一个cookie;如果同样的cookie存在讲会覆盖。
cookies.remove() (en-US)
根据名字删除cookie。
cookies.getAllCookieStores() (en-US)
列出所有保存的cookie。

事件句柄

cookies.onChanged (en-US)
当设置或删除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

Acknowledgements

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

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