cookies.set()
Метод set() API cookies устанавливает cookie, содержащий указанные данные cookie. Этот метод эквивалентен отправке HTTP-заголовка Set-Cookie во время запроса на заданный URL.
Вызов выполняется только в том случае, если вы включили разрешение API "cookies" API permission в файле manifest.json, а также разрешения на доступ к хосту для указанного URL в вашем манифесте. Указанный URL также должен иметь необходимые разрешения для создания cookie с заданными параметрами.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
let setting = browser.cookies.set( details // object )
Параметры
details-
Объект
object, содержащий данные cookie. Он может иметь следующие свойства:-
domainНеобязательно -
Строка
string, представляющая домен cookie. Если опущено, cookie становится cookie-файлом только для хоста. -
expirationDateНеобязательно -
Число
number, представляющее дату истечения срока действия cookie в виде количества секунд с эпохи Unix. Если опущено, cookie становится cookie-файлом сеанса. -
firstPartyDomainНеобязательно -
Строка
string, представляющая домен первого уровня, к которому будет привязано cookie. Это свойство должно быть предоставлено, если в браузере включена изоляция первого уровня. См. Изоляция первого уровня. -
httpOnlyНеобязательно -
Логическое значение
boolean, указывающее, должно ли cookie быть помечено как HttpOnly (true), или нет (false). Если опущено, по умолчанию используется false. -
nameНеобязательно -
Строка
string, представляющая имя cookie. Если опущено, по умолчанию используется пустая строка. -
partitionKeyНеобязательно -
Объект
object, представляющий раздел хранения, в котором необходимо установить cookie. Включите этот объект, чтобы установить cookie в разделенном хранилище. Этот объект содержит:-
topLevelSiteНеобязательно -
Строка
string, представляющая URL сайта первого уровня, раздел хранилища которого содержит cookie.
-
-
pathНеобязательно -
Строка
string, представляющая путь cookie. Если опущено, по умолчанию используется путь из URL-параметра. -
sameSiteНеобязательно -
Значение
cookies.SameSiteStatus, указывающее состояние SameSite cookie. Если опущено, по умолчанию используется 0, 'no_restriction'. -
secureНеобязательно -
Логическое значение
boolean, указывающее, должно ли cookie быть помечено как безопасное (true), или нет (false). Если опущено, по умолчанию используется false. -
storeIdНеобязательно -
Строка
string, представляющая идентификатор хранилища cookie, в котором необходимо установить cookie. Если опущено, cookie устанавливается в хранилище cookie текущего контекста выполнения по умолчанию. url-
Строка
string, представляющая URI запроса, который необходимо связать с cookie. Это значение может повлиять на значения по умолчанию домена и пути созданного cookie. Если разрешения на доступ к хосту для этого URL не указаны в файле манифеста, вызов метода завершится ошибкой. -
valueНеобязательно -
Строка
string, представляющая значение cookie. Если опущено, по умолчанию используется пустая строка.
-
Возвращаемое значение
Обещание Promise, которое будет выполнено с объектом cookies.Cookie, содержащим информацию о установленном cookie. Если вызов завершится ошибкой по любой причине, обещание будет отклонено с сообщением об ошибке.
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
set |
Да | 14 | 45До версии 56 эта функция не изменяла cookie в режиме частного просмотра. Начиная с версии 56 это исправлено. |
? | Да | 14 | ? | ? | 48До версии 56 эта функция не изменяла cookie в режиме частного просмотра. Начиная с версии 56 это исправлено. |
? | 15 | ? |
firstPartyDomain |
Нет | Нет | 59 | ? | Нет | Нет | ? | ? | 59 | ? | Нет | ? |
partitionKey |
Нет | Нет | 94 | ? | Нет | Нет | ? | ? | 94 | ? | ? | ? |
sameSite |
Да | 79 | 63 | ? | Нет | 14Поддерживает только явное. |
? | ? | 63 | ? | 15Поддерживает только явное. |
? |
Примеры
В этом примере устанавливается cookie для документа, размещенного в текущей вкладке:
let getActive = browser.tabs.query({active: true, currentWindow: true}); getActive.then(setCookie); function setCookie(tabs) { browser.cookies.set({ url: tabs[0].url, name: "favorite-color", value: "red" }); }
Примеры расширений
Примечание: Этот API основан на API chrome.cookies Chromium. Эта документация взята из cookies.json кода Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/cookies/set