CookieStore: set() method
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:
-
name
-
A string with the name of the cookie.
-
value
-
A string with the value of the cookie.
Or
-
options
-
An object containing:
domain
Optional
-
A string containing the domain of the cookie.
expires
Optional
-
A timestamp, given as Unix time in milliseconds, containing the expiration date of the cookie.
-
name
-
A string with the name of a cookie.
partitioned
Optional
-
A boolean value that defaults to false
. If set to true
, the set cookie will be a partitioned cookie. See Cookies Having Independent Partitioned State (CHIPS) for more information.
path
Optional
-
A string 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.
-
value
-
A string with the value of the cookie.
Return value
A Promise
that resolves with undefined
when setting the cookie completes.
Exceptions
-
TypeError
-
Thrown if setting the cookie with the given values fails.
SecurityError
DOMException
-
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
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
set |
87 |
87 |
No |
No |
73 |
No |
87 |
87 |
No |
62 |
No |
14.0 |
partitioned_option |
114 |
114 |
No |
No |
100 |
No |
114 |
114 |
No |
No |
No |
No |