declarativeNetRequest.updateSessionRules
修改扩展的会话范围规则集。首先删除options.removeRuleIds
中列出的 ID 的规则,然后添加options.addRules
中给出的规则。请注意,
- 此更新作为原子操作发生:要么所有指定的规则都被添加和删除,要么返回错误。
- 这些规则不会跨浏览器会话持久化。
- 可以添加的会话范围规则的数量是有限制的
- 在 Safari 和 Chrome 119 及以下版本中,限制为动态规则和会话范围规则的总和的
MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
的值。 - 在 Firefox 127 及以下版本中,限制为
MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
的值。 - 从 Chrome 120 和 Firefox 128 开始,限制为
MAX_NUMBER_OF_SESSION_RULES
的值。
- 在 Safari 和 Chrome 119 及以下版本中,限制为动态规则和会话范围规则的总和的
语法
js
let updatedRuleset = browser.declarativeNetRequest.updateSessionRules(
options // object
);
参数
options
-
一个包含要添加到动态规则或从中删除的规则详细信息的对象。
addRules
可选-
一个
declarativeNetRequest.Rule
数组。要添加的规则的详细信息。 removeRuleIds
可选-
一个
number
数组。要删除的规则的 ID。任何无效的 ID 都会被忽略。
返回值
一个Promise
如果请求成功,则 promise 以无参数的方式完成。如果请求失败,则 promise 会拒绝并显示错误消息。
示例
扩展示例
浏览器兼容性
BCD 表仅在启用了 JavaScript 的浏览器中加载。