Ich spiele also mit HTML 5 und localStorage herum und stelle fest, dass meine Werte nur gespeichert werden, wenn ich die Seite in Firefox auf dem lokalen Host ausführe (d. h http://127.0.0.1:8000/test/index.html), aber wenn ich die Datei lokal ausführe (file:///C:/test/index.html), werden meine Werte nicht gespeichert. Safari 4 hat mit beiden Setups keine Probleme. Weiß jemand, ob das beabsichtigt ist -> DOM-Speicher im Mozilla Developer Center
(Firefox 2 erlaubte den Zugriff auf Speicherobjekte, die in der Domänenhierarchie höher als das aktuelle Dokument stehen. Aus Sicherheitsgründen ist dies in Firefox 3 nicht mehr zulässig. Darüber hinaus wurde diese vorgeschlagene Ergänzung zu HTML 5 zugunsten von HTML 5 aus der HTML 5-Spezifikation entfernt von localStorage, das in Firefox 3.5 implementiert ist.)
Oder ob es einen Workaround gibt?
Ich frage mich, weil Offline-Speicher, der nur online funktioniert, albern klingt 😛
Falls sich jemand wundert: Der Code ist so einfach wie es nur geht:
function save()
{
localStorage.setItem('foo','bar');
}
function load()
{
var test = localStorage.getItem('foo');
alert(test);
}
Es scheint ein Fehler zu sein: Fehler 507361 – localStorage funktioniert nicht in file:///-Dokumenten
Hoffe, es ist bald behoben!
13.09.2011: Fehler behoben, in „Mozilla8“ implementiert. Ich habe das mit Firefox 8 getestet und es funktioniert jetzt.
Nun, das verlinkte Dokument sagt das tatsächlich
localStorage ist dasselbe wie globalStorage[location.hostname]mit Ausnahme von auf einen HTML5-Ursprung beschränkt (Schema + Hostname + nicht standardmäßiger Port)
Ich möchte nicht behaupten, dass ich zu 100 % verstehe, was das bedeutet, aber das Bit in Klammern deutet darauf hin, dass die URL bestimmte Eigenschaften haben muss – insbesondere, dass das Schema und der Hostname das sind, was Firefox als HTML 5-Ursprung betrachtet. Ich vermute, dass file:///
URLs stimmen nicht damit überein, während Ihre http://127.0.0.1/
tut.
bearbeiten: Blick auf die W3Cs Beschreibung der Origin-EigenschaftSchritt 7 scheint das Problem zu verursachen. Je nachdem, wie die localStorage
Wenn die Handhabung implementiert ist, wird möglicherweise ein 3-Tupel erwartet, wie in Schritt 12 zurückgegeben, aber für a file://
URL kann der Rückgabewert so ziemlich alles sein.
Also, ähm, ich nehme an, es ist beabsichtigt. Wenn man darüber nachdenkt, besteht die Möglichkeit, dass dies nicht wirklich beabsichtigt ist; Es gibt keinen Grund dafür localStorage
sollte nicht arbeiten für file://
URLs. Möglicherweise entspricht die Ausgabe einer browserspezifischen Implementierung nicht den Erwartungen einer anderen.
Was Problemumgehungen betrifft, würde ich globalStorage
Machen Sie hier nicht das, was Sie wollen?
Seit dem 5. Oktober 2020 scheint localStorage in Firefox erneut defekt zu sein. Versuche dies:
- Laden Sie die Mozilla-Demoseite herunter: https://mdn.github.io/dom-examples/web-storage/
- Ändern Sie das Tier/die Farbe auf etwas anderes als den Standardwert.
- Schließen Sie den Tab der Seite (oder den Browser).
- Laden Sie die Seite erneut herunter. Es ist wieder auf die Standardeinstellungen zurückgesetzt. (Firefox 81:0 et.al.)
Schlimmer noch: Wenn Sie Schritt 1 und 2 oben ausführen und dann eine weitere Kopie der Demo in einem neuen Tab öffnen, erhält der neue Tab nicht nur nicht die gespeicherten Daten, sondern die ursprüngliche Demoseite (aktualisieren) ist auch wieder da Standardwerte; als ob die neue Registerkarte auf die gespeicherten Daten getreten wäre.
…aber scheint offline mit Chrome gut zu funktionieren
– Lapinferoce
11. August 2010 um 12:05 Uhr
Gott sei Dank habe ich das gefunden … Ich habe versucht, in Firefox zu debuggen und habe mich gefragt, was ich falsch gemacht habe, weil ich an meinem Code keinen Fehler erkennen konnte. Es funktionierte im IE und Chrome bei der Arbeit mit der URL „file://“, aber Firefox funktionierte nicht. Sobald ich es auf einen Server stellte, funktionierte es einwandfrei.
– Benutzer426467
20. August 2010 um 14:58
Hallo, ich schreibe Ihnen aus dem Jahr 2011. Es ist immer noch nicht behoben! bugzilla.mozilla.org/show%5Fbug.cgi?id=507361
– Benutzer763372
20. Mai 2011 um 20:21
Hallo Futureman! Was für eine düstere Zukunft, in der Sie leben! Ich hoffe, du hast das von deinem fliegenden Auto aus geschrieben! (Im Ernst: Was ist der Grund für die Verzögerung? Das kann kein Problem sein -> siehe IE, Safari und Chrome)
– Hobotron
23. Mai 2011 um 12:59
+1 für
I wonder because offline storage that works only online sounds silly :P
– Hippietrail
30. Juli 2012 um 15:55