Speichern WebExtensions ihre Präferenzen immer in prefs.js?
Nicht, wenn sie gemäß den Richtlinien geschrieben werden.
Jede Erweiterung verfügt über einen eigenen Speicherbereich, der in verschiedene Speicherarten unterteilt werden kann.
WebExtensions sollte die Speicher-API verwenden, um die Einstellungen zu speichern:
Ermöglicht Erweiterungen zum Speichern und Abrufen von Daten sowie zur Überwachung von Änderungen an gespeicherten Elementen.
Das Speichersystem basiert auf der Web Storage API, mit einigen Unterschieden. Dazu gehören unter anderem:
- Es ist asynchron.
- Die Werte beziehen sich auf die Erweiterung, nicht auf eine bestimmte Domäne (dh derselbe Satz von Schlüssel- / Wert-Paaren steht für alle Skripts im Hintergrundkontext und für Inhaltsskripts zur Verfügung).
- Die gespeicherten Werte können ein beliebiger JSON-fähiger Wert sein, nicht nur String. Dazu gehören unter anderem: Array und Object, jedoch nur, wenn ihr Inhalt als JSON dargestellt werden kann, der keine DOM-Knoten enthält. Sie müssen Ihre Werte nicht vor dem Speichern in JSON-Strings konvertieren, sondern sie werden intern als JSON dargestellt. Daher müssen sie JSON-fähig sein.
- In demselben API-Aufruf können mehrere Schlüssel / Wert-Paare festgelegt oder abgerufen werden.
Um diese API verwenden zu können, müssen Sie die Berechtigung "Speicher" in Ihre manifest.json-Datei aufnehmen.
Jede Erweiterung verfügt über einen eigenen Speicherbereich, der in verschiedene Speicherarten unterteilt werden kann.
Obwohl diese API Window.localStorage ähnlich ist, wird empfohlen, Window.localStorage nicht im Erweiterungscode zum Speichern von Erweiterungsdaten zu verwenden. Firefox löscht Daten, die von Erweiterungen mit der localStorage-API gespeichert wurden, in verschiedenen Szenarien, in denen Benutzer den Browserverlauf und die Daten aus Datenschutzgründen löschen. Daten, die mit der storage.local-API gespeichert wurden, werden in diesen Szenarien ordnungsgemäß beibehalten.
(Hervorhebung meines).
Quellspeicher - Mozilla | MDN