2016-08-14 4 views
0

Mit der (veralteten, Chrome-proprietären) navigator.webkitPersistentStorage.requestQuota() Methode kann ich dauerhaften Speicher in Chrome anfordern.gilt webkitPersistentStorage.requestQuota() für IndexedDB?

Gilt dies auch für IndexedDB-Daten oder nur für die Dateisystem-API?

Hintergrund: Ich möchte IndexedDB wirklich persistent machen, machen es immun gegen jeden Browser Garbage Collection/Eviction (außer manuelle Benutzer löschen), um wichtige Daten zu speichern.

Antwort

0

Nr

Chrome alter PersistentStorage Mechanismus gilt nur für den Dateisystem-API. Die Absicht war, es auf alle Speichertypen anzuwenden, aber der Vorschlag verpuffte und wurde von anderen Browsern nicht übernommen. (. Wie der Filesystem-API selbst)

...

Es gibt einen neuen Vorschlag an: https://storage.spec.whatwg.org/

... wobei Skript navigator.storage.persist() nennen kann die "persistent" Erlaubnis zu beantragen. Wenn es gewährt wird, macht es den gesamten Speicher des Ursprungs (indizierte Datenbank, Cache-API, lokale Speicherung usw.) persistent, d. H. Kann nur durch explizite Benutzeraktion gelöscht werden. Chrome ist derzeit (ca. August 2016) experimentiert mit diesem Vorschlag - wenn Sie es ausprobieren möchten, siehe: https://developers.google.com/web/updates/2016/06/persistent-storage?hl=en

+0

Ja, aber AFAIK die neue Funktion ist derzeit (Chrome 52) in BETA und normalerweise nicht * allgemein * verfügbar (Zum Beispiel kann eine frei verfügbare JS-Bibliothek noch nicht davon Gebrauch machen). Daher gibt es derzeit keine Möglichkeit, Daten sicher zu speichern !? –

+0

Korrekt. Dies gilt für die meisten Browser. Speicher ist "bester Versuch", aber wenn der Platz knapp ist, werden sie Daten löschen (basierend auf verschiedenen Heuristiken, zum Beispiel am kürzesten verwendeten Ursprung), anstatt das Gerät zu füllen und Fehlschlag-Operationen zu starten. –