tabs.removeCSS()
删除之前通过调用 tabs.insertCSS()
注入页面中的 CSS。
注意:使用清单 V3 或更高版本时,请使用 scripting.insertCSS()
和 scripting.removeCSS()
插入和删除 CSS。
这是一个异步函数,它返回一个 Promise
。
语法
let removing = browser.tabs.removeCSS(
tabId, // optional integer
details // object
)
参数
tabId
可选-
整数
。要从中删除 CSS 的选项卡的 ID。默认为当前窗口的活动选项卡。 详细信息
-
一个描述要从页面中删除的 CSS 的对象。它包含以下属性
allFrames
可选-
布尔值
。如果为true
,则代码将从当前页面的所有框架中删除。如果为false
,则代码仅从顶层框架中删除。默认为false
。 code
可选-
字符串
。要删除的 CSS,作为文本字符串。这必须与之前使用tabs.insertCSS()
插入页面的 CSS 字符串完全匹配。 cssOrigin
可选-
字符串
。这可以取两个值之一:“user”,用于作为用户样式表添加的 CSS,或“author”,用于作为作者样式表添加的 CSS。如果此选项之前由tabs.insertCSS()
设置,则必须完全匹配。 file
可选-
字符串
。包含要删除的 CSS 的文件的路径。这必须与之前使用tabs.insertCSS()
插入页面的 CSS 文件完全匹配。 frameId
可选-
整数
。要从中删除 CSS 的框架。默认为0
(顶层框架)。 matchAboutBlank
可选-
布尔值
。如果为true
,则如果您的扩展程序可以访问其父文档,则 CSS 将从嵌入的“about:blank”和“about:srcdoc”框架中删除。默认为false
。
返回值
一个 Promise
,当所有 CSS 都已删除时,它将以无参数的方式完成。如果发生任何错误,则承诺将以错误消息拒绝。
示例
此示例使用 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);
});
扩展示例
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
注意:此 API 基于 Chromium 的 chrome.tabs
API。此文档源自 Chromium 代码中的 tabs.json
。