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。