scripting.removeCSS()
移除透過呼叫 scripting.insertCSS() 注入的 CSS 樣式表。
注意:此方法在 Chrome 的 Manifest V3 或更高版本以及 Firefox 101 中可用。在 Safari 和 Firefox 102+ 中,此方法在 Manifest V2 中也可用。
要使用此 API,您必須擁有 "scripting" 許可權,並且擁有頁面 URL 的許可權,該許可權可以明確地作為 主機許可權,或者使用 activeTab 許可權。
這是一個非同步函式,返回一個 Promise。
語法
await browser.scripting.removeCSS(
details // object
)
引數
details-
一個物件,描述要移除的 CSS 以及從何處移除。它包含以下屬性:
css可選-
string。一個包含要注入的 CSS 的字串。必須指定css或files之一,並且必須與透過scripting.insertCSS()插入的樣式表匹配。 files可選-
arrayofstring。要注入的 CSS 檔案路徑,相對於擴充套件程式的根目錄。必須指定files或css之一,並且必須與透過scripting.insertCSS()插入的樣式表匹配。 origin可選-
string。注入的樣式來源,可以是USER或AUTHOR。預設為AUTHOR。必須與透過scripting.insertCSS()插入的樣式表的來源匹配。 目標-
scripting.InjectionTarget。指定要從中移除 CSS 的目標的詳細資訊。
返回值
一個 Promise,在所有 CSS 都被移除後解析(不帶引數)。如果發生任何錯誤,promise 將被拒絕。嘗試移除不存在的樣式表將被忽略。
示例
此示例使用 scripting.insertCSS 新增一些 CSS,然後在使用者點選瀏覽器動作時再次將其移除。
// Assuming some style has been injected previously with the following code:
//
// await browser.scripting.insertCSS({
// target: {
// tabId: tab.id,
// },
// css: "* { background: #c0ffee }",
// });
//
// We can remove it when a user clicked an extension button like this:
browser.action.onClicked.addListener(async (tab) => {
try {
await browser.scripting.removeCSS({
target: {
tabId: tab.id,
},
css: "* { background: #c0ffee }",
});
} catch (err) {
console.error(`failed to remove CSS: ${err}`);
}
});
瀏覽器相容性
載入中…
注意:此 API 基於 Chromium 的 chrome.scripting API。