declarativeNetRequest.updateDynamicRules
Ändert die Menge der dynamischen Regeln für die Erweiterung. Die Regeln mit den in options.removeRuleIds
genannten IDs werden zuerst entfernt, und dann werden die in options.addRules
angegebenen Regeln hinzugefügt. Beachten Sie, dass:
- Diese Aktualisierung 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 hinweg und bei Erweiterungsupdates beibehalten.
- Statische Regeln, die als Teil des Erweiterungspakets angegeben sind, können mit dieser Funktion nicht entfernt werden.
- Die Anzahl der dynamischen Regeln, die hinzugefügt werden können, ist begrenzt:
- In Safari und bis Chrome 119 auf den Wert von
MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
für die kombinierte Gesamtzahl von dynamischen und sitzungsbezogenen Regeln. - Bis Firefox 127 auf den Wert von
MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES
. - Ab Chrome 120 und Firefox 128 auf den Wert von
MAX_NUMBER_OF_DYNAMIC_RULES
.
- In Safari und bis Chrome 119 auf den Wert von
Syntax
let updatedRules = browser.declarativeNetRequest.updateDynamicRules(
options // object
);
Parameter
options
-
Ein Objekt, das Details zu den Regeln enthält, die zu den dynamischen Regeln hinzugefügt oder daraus gelöscht werden sollen.
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 Anforderung erfolgreich war, wird das Promise ohne Argumente erfüllt. Wenn die Anforderung fehlschlägt, wird das Promise mit einer Fehlermeldung abgelehnt.
Beispiele
Beispiel-Erweiterungen
Browser-Kompatibilität
BCD tables only load in the browser