--- title: cookies slug: Mozilla/Add-ons/WebExtensions/API/cookies tags: - API - Add-ons - Cookies - Extensions - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/API/cookies ---
{{AddonSidebar}}

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

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

类型

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

方法

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

事件句柄

{{WebExtAPIRef("cookies.onChanged")}}
当设置或删除cookie时触发。

权限

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

http://*.example.com/

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

它不能:

http://www.example.com/

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

它不能:

*://*.example.com/

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

浏览器兼容性

{{Compat("webextensions.api.cookies")}}

Edge 不兼容

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

{{WebExtExamples("h2")}}

Acknowledgements

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

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