Spec-Zone.ru › Web Extensions

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"
  });
}

Примеры расширений

  • cookie-bg-picker

Примечание: Этот 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API