CookieStore: set() method
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Service Workers.
The set() method of the CookieStore interface sets a cookie with the given name and value or options object.
Syntax
set(name, value)
set(options)
Parameters
This method requires one of the following:
nameOptional-
A string with the name of the cookie.
valueOptional-
A string with the value of the cookie.
Or
optionsOptional-
An object containing:
domainOptional-
A string containing the domain of the cookie. Defaults to
null. expiresOptional-
A timestamp, given as Unix time in milliseconds, containing the expiration date of the cookie. Defaults to
null. name-
A string with the name of a cookie.
partitionedOptional-
A boolean value that defaults to
false. If set totrue, the set cookie will be a partitioned cookie. See Cookies Having Independent Partitioned State (CHIPS) for more information. pathOptional-
A string containing the path of the cookie. Defaults to
/. sameSiteOptional-
One of the following
SameSitevalues:"strict"-
Cookies will only be sent in a first-party context and not be sent along with requests initiated by third party websites. This is the default.
"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.
value-
A string with the value of the cookie.
Return value
Exceptions
SecurityErrorDOMException-
Thrown if the origin can not be serialized to a URL.
TypeError-
Thrown if setting the cookie with the given
nameandvalueoroptionsfails.
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 |
|---|
| Cookie Store API # dom-cookiestore-set |
Browser compatibility
BCD tables only load in the browser