declarativeNetRequest.updateDynamicRules

修改擴充套件的動態規則集。首先會移除 options.removeRuleIds 中列出的規則 ID,然後新增 options.addRules 中提供的規則。請注意,

  • 此更新作為原子操作進行:要麼新增並移除所有指定的規則,要麼返回錯誤。
  • 這些規則會在瀏覽器會話和擴充套件更新之間持久儲存。
  • 作為擴充套件包一部分定義的靜態規則無法透過此函式移除。
  • 可以新增的動態規則數量是有限制的

注意: 在 Firefox 132 及更早版本中,動態規則在瀏覽器重啟後有時不會生效,並且呼叫此 API 會被拒絕並返回錯誤(Firefox bug 1921353)。一個解決方法是在 declarative_net_request manifest 鍵中指定一個啟用的靜態規則集。規則集檔案可以是一個空列表。

語法

js
let rulesUpdated = browser.declarativeNetRequest.updateDynamicRules(
    options                // object
);

引數

options

一個包含要新增到動態規則集或從中刪除的規則的詳細資訊的物件。

addRules 可選

一個 declarativeNetRequest.Rule 陣列。要新增的規則的詳細資訊。

removeRuleIds 可選

一個 number 陣列。要移除的規則的 ID。任何無效的 ID 都將被忽略。

返回值

一個 Promise。如果請求成功,Promise 將會以無引數的形式 fulfilled。如果請求失敗,Promise 將會以錯誤訊息的形式 rejected。

示例

擴充套件程式示例

瀏覽器相容性