scripting.getRegisteredContentScripts()

返回使用 scripting.registerContentScripts() 注册的所有内容脚本,或在使用过滤器时返回注册脚本的子集。

注意: 此方法在 Chrome 和 Firefox 101 中的清单 V3 或更高版本中可用。在 Firefox 102+ 中,此方法也适用于清单 V2。

要使用此 API,您必须拥有 "scripting" 权限,以及对页面 URL 的权限,可以明确地作为 主机权限 或使用 activeTab 权限

这是一个返回 Promise 的异步函数。

语法

js
let scripts = await browser.scripting.getRegisteredContentScripts(
  filter          // object
)

参数

filter 可选

scripting.ContentScriptFilter. 用于返回的已注册脚本详细信息的过滤器。

返回值

一个 Promise,它用 scripting.RegisteredContentScript 数组来完成。如果发生任何错误,则 promise 会被拒绝。

示例

此示例返回所有注册的内容脚本

js
// Register two content scripts.
await browser.scripting.registerContentScripts([
  {
    id: "script-1",
    js: ["script-1.js"],
    matches: ["*://example.com/*"],
  },
  {
    id: "script-2",
    js: ["script-2.js"],
    matches: ["*://example.com/*"],
  },
]);

// Retrieve all content scripts.
let scripts = await browser.scripting.getRegisteredContentScripts();
console.log(scripts.map((script) => script.id)); // ["script-1", "script-2"]

// Only retrieve the second script.
scripts = await browser.scripting.getRegisteredContentScripts({
  ids: ["script-2"],
});
console.log(scripts.map((script) => script.id)); // ["script-2"]

浏览器兼容性

BCD 表格仅在浏览器中加载

注意: 此 API 基于 Chromium 的 chrome.scripting API。