我们的志愿者还没有将这篇文章翻译为 中文 (简体)。加入我们帮助完成翻译!
The Cookie
type of the cookies
API represents information about an HTTP cookie.
Type
Values of this type are objects, which can contain the following properties:
name
- A
string
representing the name of the cookie. value
- A
string
representing the value of the cookie. domain
- A
string
representing the domain the cookie belongs to (e.g. "www.google.com", "example.com"). hostOnly
- A
boolean
,true
if the cookie is a host-only cookie (i.e. the request's host must exactly match the domain of the cookie), orfalse
otherwise. path
- A
string
representing the path of the cookie. secure
- A
boolean
, true if the cookie is marked as secure (i.e. its scope is limited to secure channels, typically HTTPS), orfalse
otherwise. httpOnly
- A boolean,
true
if the cookie is marked as HttpOnly (i.e. the cookie is inaccessible to client-side scripts), orfalse
otherwise. session
- A
boolean
,true
if the cookie is a session cookie, orfalse
if it is a persistent cookie with an expiration date. expirationDate
Optional- A
number
representing the expiration date of the cookie as the number of seconds since the UNIX epoch. Not provided for session cookies. storeId
- A
string
representing the ID of the cookie store containing this cookie, as provided bycookies.getAllCookieStores()
.
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Chrome | Edge | Firefox | Firefox for Android | Opera | |
---|---|---|---|---|---|
Basic Support | Yes | Yes | 45.0 | 48.0 | 33 |
Examples
Most methods in the cookies API involve a Cookie
object being used either as an input parameter, or as part of the return value. For example, a call to cookies.set()
involves a Cookie
object being passed in to provide the details of the cookie you want to set.
In this code snippet, taken from our cookie-bg-picker example, a function is run when the color picker form input has a new color entered into it. The tabs.query()
method is first used to get information about the current tab, after which tabs.sendMessage()
is used to send the new color choice to the content script so it can update the background of the page with the new color, and cookies.set()
is used to save that preference in a cookie.
colorPick.onchange = function(e) { chrome.tabs.query({active: true, currentWindow: true}, function(tabs) { var currColor = e.target.value; chrome.tabs.sendMessage(tabs[0].id, {color: currColor}); cookieVal.color = currColor; chrome.cookies.set({ url: tabs[0].url, name: "bgpicker", value: JSON.stringify(cookieVal) }) }); }
The cookie
object here is as follows:
{ url: tabs[0].url, name: "bgpicker", value: JSON.stringify(cookieVal) }
Example add-ons
This API is based on Chromium's chrome.cookies
API. This documentation is derived from cookies.json
in the Chromium code.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
// Copyright 2015 The Chromium Authors. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.