chrome.cookies
描述: |
使用 chrome.cookies API 查询和修改 Cookie,并在 Cookie 更改时得到通知。
|
可用版本: |
从 Chrome 6 开始支持。
|
权限: |
"cookies"
主机权限 |
清单文件
要使用 Cookie API,您必须在清单文件中声明 "cookies" 权限,以及用于访问 Cookie 的主机权限。例如:
{ "name": "我的扩展程序", ... "permissions": [ "cookies", "*://*.google.com" ], ... }
例子
您可以在 examples/api/cookies 目录中找到使用 Cookie API 的简单示例。有关其他例子以及查看源代码的帮助,请参见示例。
摘要
类型 | |
---|---|
Cookie | |
CookieStore | |
方法 | |
get −
chrome.cookies.get(object details, function callback)
| |
getAll −
chrome.cookies.getAll(object details, function callback)
| |
set −
chrome.cookies.set(object details, function callback)
| |
remove −
chrome.cookies.remove(object details, function callback)
| |
getAllCookieStores −
chrome.cookies.getAllCookieStores(function callback)
| |
事件 | |
onChanged |
类型
Cookie
属性 | ||
---|---|---|
string | name |
Cookie 的名称。 |
string | value |
Cookie 的值。 |
string | domain |
Cookie 的域名(例如 “www.google.com”、“example.com”)。 |
boolean | hostOnly |
如果 Cookie 仅用于指定主机则为 true(即请求的主机必须精确匹配 Cookie 的域名)。 |
string | path |
Cookie 的路径。 |
boolean | secure |
如果 Cookie 被标记为安全的则为 true(即它的范围限定在以 HTTPS 为典型的安全通道内)。 |
boolean | httpOnly |
如果 Cookie 被标记为仅用于 HTTP 则为 true(即客户端脚本不能访问该 Cookie)。 |
boolean | session |
如果是会话 Cookie 则为 true,与之相对,如果是具有过期日期的持久 Cookie 则为 false。 |
double | (可选) expirationDate |
Cookie 的过期日期,表示为自从 UNIX 纪元(1970 年 1 月 1 日午夜)开始所经过的秒数。对于会话 Cookie 省略。 |
string | storeId |
包含此 Cookie 的 Cookie 存储区标识符,与 getAllCookieStores() 返回的一致。 |
CookieStore
属性 | ||
---|---|---|
string | id |
Cookie 存储区的标识符。 |
array of integer | tabIds |
共享这一 Cookie 存储区的所有浏览器标签页的标识符。 |
方法
get
chrome.cookies.get(object details, function callback)
获得单个 Cookie 的有关信息。如果给定的 URL 具有多个名称相同的 Cookie,将返回路径最长的一个。如果路径长度相同,将返回创建时间最早的一个。
参数 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
object | details |
需要获得的Cookie详情。
|
|||||||||
function | callback |
callback 参数应该是一个如下形式的函数: function( Cookie cookie) {...};
|
getAll
chrome.cookies.getAll(object details, function callback)
返回一个 Cookie 存储区中符合给定条件的所有 Cookie。返回的 Cookie 将按照路径长度从大到小排序,如果多个 Cookie 的路径长度相等,则创建时间最早的排在最前面。
参数 | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
object | details |
用于筛选出要想获取的 Cookie 的信息。
|
|||||||||||||||||||||
function | callback |
callback 参数应该是一个如下形式的函数: function(array of Cookie cookies) {...};
|
set
chrome.cookies.set(object details, function callback)
用给定的数据设置 Cookie,如果同样的 Cookie 已存在则会覆盖。
参数 | |||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
object | details |
有关要设置的 Cookie 的详情。
|
|||||||||||||||||||||||||||
function | (可选) callback |
如果您指定了 callback 参数,它应该是一个如下形式的函数: function( Cookie cookie) {...};
|
remove
chrome.cookies.remove(object details, function callback)
根据名称删除 Cookie。
参数 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
object | details |
用于标识要删除的Cookie的信息。
|
||||||||||||
function | (可选) callback |
如果您指定了 callback 参数,它应该是一个如下形式的函数: function(object details) {...};
|
getAllCookieStores
chrome.cookies.getAllCookieStores(function callback)
列举所有存在的 Cookie 存储区。
参数 | |||||
---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function(array of CookieStore cookieStores) {...};
|
事件
onChanged
当 Cookie 设置或删除时产生。注意更新 Cookie 的属性为特殊情况,实现为两步的过程:首先将要更新的 Cookie 完全删除,产生 cause 属性为 "overwrite"(覆盖)的通知;然后,新的 Cookie 用更新后的值写入,产生 cause 属性为 "explicit" 的第二个通知。
addListener
chrome.cookies.onChanged.addListener(function callback)
参数 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
function | callback |
callback 参数应该是一个如下形式的函数: function(object changeInfo) {...};
|
示例扩展程序
- Cookie API Test Extension – Testing Cookie API