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。