scripting.registerContentScripts()

注册一个或多个内容脚本。

注意:此方法在 Chrome 的 Manifest V3 或更高版本以及 Firefox 101 中可用。在 Firefox 102+ 中,此方法在 Manifest V2 中也可用。

要调用此 API,您必须拥有 "scripting" 权限。要运行注入的脚本,扩展程序必须拥有目标网页 URL 的权限,可以是明确的 主机权限,也可以是使用 activeTab 权限

语法

js
await browser.scripting.registerContentScripts(
  scripts         // array
)

参数

scripts

scripting.RegisteredContentScript数组。要注册的脚本列表。

返回值

一个 Promise,在没有错误时会解析(不带参数),在出现错误时会被拒绝。脚本解析和文件验证期间可能会发生错误,或者如果指定的 ID 已存在。发生错误时,不会注册任何脚本。

示例

此示例注册一个内容脚本,该脚本注入文件 "script.js"

js
const script = {
  id: "a-script",
  js: ["script.js"],
  matches: ["https://example.com/*"],
};

try {
  await browser.scripting.registerContentScripts([script]);
} catch (err) {
  console.error(`failed to register content scripts: ${err}`);
}

浏览器兼容性

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