userScripts.update()

更新擴充套件程式註冊的使用者指令碼。

語法

js
let updatingUserScript = browser.userScripts.update(
  scripts       // array of objects
);

引數

scripts

要更新的使用者指令碼的詳細資訊,型別為 array,元素為 userScripts.RegisteredUserScript

值為 null 或被省略的屬性將不會被更改。將空陣列傳遞給 matchesexcludeMatchesglobsexcludeGlobs 會清除這些屬性。

返回值

如果所有請求的使用者指令碼都已更新,則此 Promise 將在不帶引數的情況下兌現。如果任何使用者指令碼更新失敗或請求因其他原因失敗,則所有指令碼都不會被更新,並且該 Promise 將以錯誤訊息被拒絕。

示例

此程式碼片段展示了對使用者指令碼進行兩次更新的示例。第一次更新失敗,因為它試圖建立一個無效的指令碼註冊。第二個示例展示了一次成功的更新。

js
// Valid registration:
await browser.userScripts.register([
  {
    worldId: "myScriptId",
    js: [{ code: "console.log('Hello world!');" }],
    matches: ["*://example.com/*"],
  },
]);

// Invalid! Would result in script without matches or includeGlobs!
await browser.userScripts.update([{ matches: [] }]);

// Valid: replaces matches with includeGlobs.
await browser.userScripts.update([
  {
    matches: [],
    includeGlobs: ["*example*"],
  },
]);

擴充套件程式示例

瀏覽器相容性