Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/declarativenetrequest/updatedynamicrules/index.md
6546 views
---
title: declarativeNetRequest.updateDynamicRules slug: Mozilla/Add-ons/WebExtensions/API/declarativeNetRequest/updateDynamicRules tags: - API - Add-ons - Extensions - Reference - WebExtensions - Method - declarativeNetRequest - updateDynamicRules browser-compat: webextensions.api.declarativeNetRequest.updateDynamicRules
---

{{AddonSidebar()}}

Modifies the set of dynamic rules for the extension. The rules with IDs listed in options.removeRuleIds are first removed, and then the rules given in options.addRules are added. Note that:

  • This update happens as an atomic operation: either all specified rules are added and removed, or an error is returned.

  • These rules are persisted across browser sessions and across extension updates.

  • Static rules specified as part of the extension package can not be removed using this function.

  • {{WebExtAPIRef("declarativeNetRequest.MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES")}} is the maximum number of dynamic and session rules an extension can add.

Syntax

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

Parameters

  • options

    • : An object containing details of the rules to add or delete from the dynamic rules.

      • addRules {{optional_inline}}

        • : An array of {{WebExtAPIRef("declarativeNetRequest.Rule")}}. Details of the rules to add.

      • removeRuleIds {{optional_inline}}

        • : An array of number. IDs of the rules to remove. Any invalid IDs are ignored.

Return value

A Promise If the request was successful, the promise is fulfilled with no arguments. If the request fails, the promise is rejected with an error message.

Examples

{{WebExtExamples}}

Browser compatibility

{{Compat}}