declarativeNetRequest.updateDynamicRules

Ändert die Menge der dynamischen Regeln für die Erweiterung. Die Regeln mit den in options.removeRuleIds aufgeführten IDs werden zuerst entfernt, und dann werden die in options.addRules angegebenen Regeln hinzugefügt. Beachten Sie, dass:

  • Dieses Update als atomare Operation erfolgt: Entweder werden alle angegebenen Regeln hinzugefügt und entfernt, oder es wird ein Fehler zurückgegeben.
  • Diese Regeln werden über Browsersitzungen und Erweiterungsaktualisierungen hinweg gespeichert.
  • Statische Regeln, die als Teil des Erweiterungspakets angegeben sind, können mit dieser Funktion nicht entfernt werden.
  • Die Anzahl der hinzufügbaren dynamischen Regeln ist begrenzt:

Hinweis: In Firefox 132 und früher werden dynamische Regeln manchmal nicht nach einem Neustart des Browsers angewendet, und Aufrufe dieser API werden mit einem Fehler abgelehnt (Firefox-Bug 1921353). Ein Workaround besteht darin, ein aktiviertes statisches Regelsatz in dem declarative_net_request Manifest-Schlüssel anzugeben. Die Regelsatz-Datei kann eine leere Liste sein.

Syntax

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

Parameter

options

Ein Objekt, das Details der hinzuzufügenden oder aus den dynamischen Regeln zu löschenden Regeln enthält.

addRules Optional

Ein Array von declarativeNetRequest.Rule. Details der hinzuzufügenden Regeln.

removeRuleIds Optional

Ein Array von number. IDs der zu entfernenden Regeln. Ungültige IDs werden ignoriert.

Rückgabewert

Ein Promise. Wenn die Anfrage erfolgreich war, wird das Promise ohne Argumente erfüllt. Wenn die Anfrage fehlschlägt, wird das Promise mit einer Fehlermeldung abgelehnt.

Beispiele

Beispielerweiterungen

Browser-Kompatibilität

BCD tables only load in the browser