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

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

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