tabs.removeCSS()
從頁面中移除之前透過呼叫 tabs.insertCSS() 注入的 CSS。
注意:使用 Manifest V3 或更高版本時,請使用 scripting.insertCSS() 和 scripting.removeCSS() 來插入和移除 CSS。
這是一個非同步函式,返回一個 Promise。
語法
let removing = browser.tabs.removeCSS(
tabId, // optional integer
details // object
)
引數
tabId可選-
integer。要從中移除 CSS 的選項卡的 ID。預設為當前視窗的活動選項卡。 details-
一個描述要從頁面中移除的 CSS 的物件。它包含以下屬性:
allFrames可選-
boolean。如果為true,則程式碼將從當前頁面的所有框架中移除。如果為false,則程式碼僅從頂層框架中移除。預設為false。 code可選-
string。要移除的 CSS,以文字字串形式表示。這必須與之前使用tabs.insertCSS()插入頁面的 CSS 字串完全匹配。 cssOrigin可選-
string。這可以接受兩個值之一:“user”,用於使用者樣式表新增的 CSS;或“author”,用於作者樣式表新增的 CSS。如果此選項之前透過tabs.insertCSS()設定,則必須完全匹配。 file可選-
string。包含要移除的 CSS 的檔案的路徑。這必須與之前使用tabs.insertCSS()插入頁面的 CSS 檔案完全匹配。 frameId可選-
integer。要從中移除 CSS 的框架。預設為0(頂級框架)。 matchAboutBlank可選-
boolean。如果為true,則 CSS 將從嵌入的“about:blank”和“about:srcdoc”框架中移除,前提是您的擴充套件程式可以訪問其父文件。預設為false。
返回值
一個 Promise,當所有 CSS 都已移除時,它將以無引數的形式解析。如果發生任何錯誤,Promise 將以錯誤訊息被拒絕。
示例
此示例使用 tabs.insertCSS 新增一些 CSS,然後在使用者單擊瀏覽器操作時將其再次移除。
let css = "body { border: 20px dotted pink; }";
function onError(error) {
console.log(`Error: ${error}`);
}
let insertingCSS = browser.tabs.insertCSS(2, { code: css });
insertingCSS.then(null, onError);
browser.browserAction.onClicked.addListener(() => {
let removing = browser.tabs.removeCSS(2, { code: css });
removing.then(null, onError);
});
擴充套件程式示例
瀏覽器相容性
載入中…
注意:此 API 基於 Chromium 的 chrome.tabs API。本文件源自 Chromium 程式碼中的 tabs.json。