scripting.updateContentScripts()
更新已注册的内容脚本。如果脚本解析和文件验证期间出现错误,或者指定的 ID 不存在,则不会更新任何脚本。
注意:此方法在 Chrome 的清单 V3 或更高版本以及 Firefox 101 中可用。在 Firefox 102 及更高版本中,此方法在清单 V2 中也可用。
要使用此 API,您必须拥有 "scripting"
权限以及页面 URL 的权限,无论是作为 主机权限显式指定,还是使用 activeTab 权限。
这是一个返回 Promise
的异步函数。
语法
js
await browser.scripting.updateContentScripts(
scripts // object
)
参数
scripts
-
scripting.RegisteredContentScript
的数组
。要更新的脚本的详细信息。除了id
之外,所有属性都是可选的。
返回值
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}`);
}
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。
注意:此 API 基于 Chromium 的 chrome.scripting
API。