cookies.remove()
cookies API 的 remove() 方法可根據 cookie 的名稱和 URL 刪除一個 cookie。
要使用此方法,擴充套件程式必須具有 "cookies" 許可權和相關的宿主許可權。有關更多詳細資訊,請參閱 cookie 許可權。
如果一個 URL 有多個同名 cookie,則刪除路徑最長的 cookie。對於路徑長度相同的 cookie,則刪除建立時間最早的 cookie。如果未找到匹配的 cookie,則返回 null。
注意: 在 Firefox 133 之前,當有多個同名 cookie 時,Firefox 會刪除建立時間最早的 cookie。
這是一個非同步函式,返回一個 Promise。
語法
let removing = browser.cookies.remove(
details // object
)
引數
details-
一個包含用於標識要刪除的 cookie 的資訊的
object。它包含以下屬性:firstPartyDomain可選-
一個
string,表示要刪除的 cookie 所關聯的第一方域。如果瀏覽器啟用了第一方隔離,則必須提供此屬性。請參閱 第一方隔離。 name-
一個
string,表示要刪除的 cookie 的名稱。 partitionKey可選-
一個
object,表示包含該 cookie 的 儲存分割槽。包含此物件以從分割槽儲存中刪除 cookie。此物件包含:topLevelSite可選-
表示包含 cookie 的頂級網站儲存分割槽的第一個 URL 的
string。
storeId可選-
一個
string,表示要查詢 cookie 的 cookie 儲存區 ID。如果未指定,則會在當前執行上下文的 cookie 儲存區中查詢 cookie。 url-
一個
string,表示與 cookie 關聯的 URL。如果擴充套件沒有該 URL 的 主機許可權,則 API 呼叫會失敗。
返回值
一個 Promise,它會以一個包含已刪除 cookie 詳細資訊的 cookies.Cookie object 來 fulfilled。如果找不到與 details 引數匹配的 cookie,則 promise 會以 null fulfilled。如果呼叫失敗,promise 會被拒絕並帶有錯誤訊息。
示例
此示例嘗試刪除一個名為 "favorite-color" 的 cookie,其 URL 與活動標籤頁託管的文件的 URL 匹配。
function onRemoved(cookie) {
console.log(`Removed: ${cookie}`);
}
function onError(error) {
console.log(`Error removing cookie: ${error}`);
}
function removeCookie(tabs) {
let removing = browser.cookies.remove({
url: tabs[0].url,
name: "favorite-color",
});
removing.then(onRemoved, onError);
}
let getActive = browser.tabs.query({ active: true, currentWindow: true });
getActive.then(removeCookie);
擴充套件程式示例
瀏覽器相容性
載入中…
注意: 此 API 基於 Chromium 的 chrome.cookies API。本文件摘自 Chromium 程式碼中的 cookies.json。