Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The set()
method of the CookieStore
interface sets a cookie with the given name and value or options object. (See below.)
Syntax
var promise = cookieStore.set(name,value); var promise = cookieStore.set(options);
Parameters
This method requires one of the following:
name
- A
USVString
with the name of the cookie. value
- A
USVString
with the value of the cookie. - options
- An object containing:
name
- A
USVString
with the name of a cookie. value
- A
USVString
with the value of the cookie. expires
Optional- A
DOMTimeStamp
containing the expiration date of the cookie. domain
Optional- A
USVString
containing the domain of the cookie. path
Optional- A
USVString
containing the path of the cookie. sameSite
Optional- One of the following SameSite values:
"strict"
- Cookies will only be sent in a first-party context and not be sent along with requests initiated by third party websites.
"lax"
- Cookies are not sent on normal cross-site subrequests (for example to load images or frames into a third party site), but are sent when a user is navigating to the origin site (i.e. when following a link).
"none"
- Cookies will be sent in all contexts.
Note
For more information on SameSite cookies see SameSite cookies explained.
Return value
Exceptions
TypeError
- Thrown if setting the cookie with the given values fails.
DOMException
SecurityError
- Thrown if the origin does not serialize to a URL.
Examples
The following example sets a cookie by passing an object with name
, value
, expires
, and domain
.
const day = 24 * 60 * 60 * 1000;
cookieStore.set({
name: "cookie1",
value: "cookie1-value",
expires: Date.now() + day,
domain: "example.com"
});
Specifications
Specification | Status | Comment |
---|---|---|
Cookie Store API | Draft | Initial definition. |
Browser compatibility
BCD tables only load in the browser