tabs.removeCSS()

删除之前通过调用 tabs.insertCSS() 注入页面中的 CSS。

注意:使用清单 V3 或更高版本时,请使用 scripting.insertCSS()scripting.removeCSS() 插入和删除 CSS。

这是一个异步函数,它返回一个 Promise

语法

js
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,然后在用户单击浏览器操作时再次将其删除

js
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