cookies.onChanged
Событие onChanged API cookies срабатывает, когда устанавливается или удаляется cookie, к которому у расширения есть доступ.
Примечание: При активном разделении хранилища, cookies.Cookie.partitionKey содержит описание хранилища cookie. При изменении cookie важно передать это значение в cookies.set() или cookies.remove() для обеспечения работы расширения с правильным cookie.
Обратите внимание, что обновление свойств cookie реализовано в двухэтапном процессе:
- Сначала существующий cookie полностью удаляется, генерируя уведомление с
cookies.OnChangedCauseзначениемoverwrite. - Затем новый cookie записывается с обновлёнными значениями, генерируя второе уведомление с
cookies.OnChangedCauseзначениемexplicit.
Синтаксис
browser.cookies.onChanged.addListener(listener) browser.cookies.onChanged.removeListener(listener) browser.cookies.onChanged.hasListener(listener)
Этот API также доступен как browser.cookies.onChanged.*.
События имеют три функции:
addListener(callback)-
Добавляет обработчик к этому событию.
removeListener(listener)-
Прекращает прослушивание этого события. Аргумент
listener— это обработчик, который нужно удалить. hasListener(listener)-
Проверяет, зарегистрирован ли
listenerдля этого события. Возвращаетtrueесли обработчик прослушивает,falseв противном случае.
Синтаксис addListener
Параметры
callback-
Функция обратного вызова, которая будет вызываться при возникновении этого события. Функции будут переданы следующие аргументы:
changeInfo-
Объект
object, содержащий детали произошедшего изменения. Его свойства следующие:removed-
Значение
boolean, установленное вtrueесли cookie был удалён, и false если нет. -
Объект
cookies.Cookie, содержащий информацию о cookie, который был установлен или удалён. cause-
Значение
cookies.OnChangedCause, представляющее основную причину изменения cookie.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
onChanged |
Да | 79 | 45 | ? | Да | Нет | ? | ? | 48 | ? | Нет | ? |
partitionKey |
Нет | Нет | 94 | ? | Нет | Нет | ? | ? | 94 | ? | Нет | ? |
Примеры
В этом примере прослушиваются события onChanged и выводятся данные из аргумента changeInfo:
browser.cookies.onChanged.addListener((changeInfo) => { console.log(`Cookie changed: \n` + ` * Cookie: ${JSON.stringify(changeInfo.cookie)}\n` + ` * Cause: ${changeInfo.cause}\n` + ` * Removed: ${changeInfo.removed}`); });
Примеры расширений
Примечание: Этот 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/onChanged