Verwendet Firefox 57+ keine Erweiterungen. * Für einzelne Erweiterungen mehr?

2

Zurück zu Firefox 57, Erweiterungen Prefs in gespeichert extensions.*innerhalb prefs.js.

Speichern Erweiterungen mit WebExtensions ihre Einstellungen jemals in prefs.js?

(Meine begrenzten Tests legen nahe, dass dies nicht der Fall ist.)

RockPaperLizard
quelle

Antworten:

4

Speichern WebExtensions ihre Einstellungen jemals in prefs.js?

Nicht, wenn sie gemäß den Richtlinien geschrieben sind.

Jede Erweiterung verfügt über einen eigenen Speicherbereich, der in verschiedene Speichertypen unterteilt werden kann.

WebExtensions sollte die Speicher-API verwenden , um die Einstellungen zu speichern:

Ermöglicht Erweiterungen das Speichern und Abrufen von Daten sowie das Überwachen von Änderungen an gespeicherten Elementen.

Das Speichersystem basiert mit einigen Unterschieden auf der Web-Speicher-API. Hierzu zählen unter anderem:

  • Es ist asynchron.
  • Werte gelten für die Erweiterung und nicht für eine bestimmte Domäne (dh für alle Skripte im Hintergrundkontext und für Inhaltsskripte steht derselbe Satz von Schlüssel / Wert-Paaren zur Verfügung).
  • Bei den gespeicherten Werten kann es sich um jeden JSON-fähigen Wert handeln, nicht nur um einen String. Dies umfasst unter anderem: Array und Object, jedoch nur, wenn deren Inhalt als JSON dargestellt werden kann, das keine DOM-Knoten enthält. Sie müssen Ihre Werte vor dem Speichern nicht in JSON-Zeichenfolgen konvertieren, sie werden jedoch intern als JSON dargestellt, sodass sie JSON-fähig sein müssen.
  • In einem API-Aufruf können mehrere Schlüssel / Wert-Paare festgelegt oder abgerufen werden.

Um diese API zu verwenden, müssen Sie die Berechtigung "Speicher" in Ihre manifest.json-Datei aufnehmen.

Jede Erweiterung verfügt über einen eigenen Speicherbereich, der in verschiedene Speichertypen unterteilt werden kann.

Obwohl diese API Window.localStorage ähnelt, wird empfohlen, Window.localStorage nicht im Erweiterungscode zum Speichern von erweiterungsbezogenen Daten zu verwenden. Firefox löscht Daten, die von Erweiterungen gespeichert wurden, mithilfe der localStorage-API in verschiedenen Szenarien, in denen Benutzer ihren Browserverlauf und ihre Daten aus Datenschutzgründen löschen, während Daten, die mithilfe der storage.local-API gespeichert wurden, in diesen Szenarien korrekt beibehalten werden.

(Hervorhebung von mir).

Quellspeicher - Mozilla | MDN


Weitere Lektüre

DavidPostill
quelle
Danke David. So technisch könnten sie , aber sie sollten nicht. Richtig?
RockPaperLizard
@ RockPaperLizard Sieht so aus ...
DavidPostill
Da WebExtensions keinen allgemeinen Zugriff auf about: config-Einstellungen haben, können sie dort nichts speichern.
Evilpie