cookies.onChanged
cookies API 的 onChanged 事件會在 cookie 設定或刪除時觸發。
請注意,更新 cookie 的屬性要透過以下兩個步驟實做:
- 首先,要更新的 cookie 會先被刪掉,並產生一個
overwrite的cookies.OnChangedCause提醒。 - 接著,帶著更新數值的新 cookie 會被寫進去,並產生第二個
explicit的cookies.OnChangedCause提醒。
語法
js
browser.cookies.onChanged.addListener(listener);
browser.cookies.onChanged.removeListener(listener);
browser.cookies.onChanged.hasListener(listener);
此 API 也能以 browser.cookies.onChanged.* 運行。
此事件有以下函式:
addListener(callback)-
給此事件添加監聽器(listener)。
removeListener(listener)-
停止監聽此事件。
listener參數是要移除的監聽器。 hasListener(listener)-
檢查此事件的
listener是否被監聽了。若有監聽,回傳true,否則回傳false。
addListener 語法
>參數
callback-
能被呼叫的 callback 函式會在此事件發生的時候觸發。函式會 passed 以下參數:
changeInfo-
一個含有觸發事件資訊的
object。它有兩個屬性:removed-
一個
boolean。如果 cookie 被刪除則為true,否則為false。 -
一個
cookies.Cookie物件。含有被設定、或被刪除的 cookie 資訊。 cause-
一個
cookies.OnChangedCause數值。含有 cookie 被改變的潛在原因。
瀏覽器相容性
Loading…
示例
本範例監聽 onChanged 事件並紀錄由 changeInfo 參數傳來的資訊:
js
browser.cookies.onChanged.addListener(function (changeInfo) {
console.log(
"Cookie changed: " +
"\n * Cookie: " +
JSON.stringify(changeInfo.cookie) +
"\n * Cause: " +
changeInfo.cause +
"\n * Removed: " +
changeInfo.removed,
);
});
範例擴充套件
備註:
此 API 基於 Chromium 的 chrome.cookies API 而來,文件改作自 Chromium 程式碼裡的 cookies.json。