scripting.updateContentScripts()
更新已注册的内容脚本。如果在脚本解析和文件验证过程中出现错误,或者指定的 ID 不存在,则不会更新任何脚本。
注意:此方法在 Chrome 的 Manifest V3 或更高版本以及 Firefox 101 中可用。在 Firefox 102+ 中,此方法在 Manifest V2 中也可用。
要调用此 API,您必须拥有 "scripting" 权限。要运行注入的脚本,扩展程序必须拥有页面 URL 的权限,可以是明确的 主机权限,也可以是使用 activeTab 权限。
语法
js
await browser.scripting.updateContentScripts(
scripts // object
)
参数
返回值
一个 Promise,它将以 scripting.RegisteredContentScript 数组 形式解析。如果发生任何错误,Promise 将被拒绝。
示例
此示例通过将 allFrames 设置为 true 来更新已使用 ID a-script 注册的内容脚本。
js
try {
await browser.scripting.registerContentScripts([
{
id: "a-script",
js: ["script.js"],
matches: ["*://example.org/*"],
},
]);
// Update content script registered before to allow execution
// in all frames:
await browser.scripting.updateContentScripts([
{
id: "a-script",
allFrames: true,
},
]);
} catch (err) {
console.error(`failed to register or update content scripts: ${err}`);
}
浏览器兼容性
加载中…
注意:此 API 基于 Chromium 的 chrome.scripting API。