Funktioniert "localStorage" in Firefox nur, wenn die Seite online ist?
So, ich bin liebäugelt etwa mit HTML 5 und den localStorage und ich bin zu bemerken, dass meine Werte nur gespeichert werden wenn ich die Seite im Firefox auf dem lokalen Rechner (d.h. http://127.0.0.1:8000/test/index.html), aber wenn ich die Datei lokal (file:///C:/test/index.html) meine Werte nicht gespeichert werden. Safari 4 hat keine Probleme mit den beiden setups.
Also weiß jemand, ob dies durch design -> DOM-Storage, die auf der Mozilla Developer Center
(Firefox 2 gestattet den Zugang zu Speicheranlagen
Objekte, die höher in der domain-Hierarchie
als das aktuelle Dokument. Dies ist keine
mehr erlaubt, in Firefox 3, für
Sicherheits-Gründen. Darüber hinaus, diese
vorgeschlagene Erweiterung zu HTML 5 wurde
entfernt aus dem HTML-5-Spezifikation
zu Gunsten von localStorage, das ist
umgesetzt in Firefox 3.5.)
Ist, oder wenn es einen workaround?
Ich Frage mich, weil die offline-Speicherung funktioniert nur online klingt doof 😛
Wenn jemand fragt, der code ist so einfach, wie es geht:
function save()
{
localStorage.setItem('foo','bar');
}
function load()
{
var test = localStorage.getItem('foo');
alert(test);
}
ich Frage mich, weil die offline-Speicherung funktioniert nur online albern klingt :P
InformationsquelleAutor der Frage hobotron | 2009-09-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es einen bug: "Fehler 507361 - localStorage funktioniert nicht file:///documents
Hoffe das ist bald behoben!
2011-09-13: Fehler behoben, umgesetzt in 'Mozilla8'. Getestet habe ich dies mit Firefox 8 und es funktioniert jetzt.
InformationsquelleAutor der Antwort user183799
Gut, wird das verknüpfte Dokument nicht sagen, dass
Ich will nicht behaupten, dass ich verstehe zu 100% was das bedeutet, aber der Teil in Klammern würde vorschlagen, dass die URL muss über bestimmte Eigenschaften verfügen - insbesondere, dass das Schema und hostname sind, was Firefox erachtet ein HTML-5 origin. Ich vermute, dass
file:///
URLs nicht übereinstimmen, während Ihrehttp://127.0.0.1/
tut.Bearbeiten: Blick auf die W3C Beschreibung der Eigenschaft Ursprung, Schritt 7 sieht aus wie könnte es das problem verursachen. Je nachdem, wie die
localStorage
handling implementiert ist, kann es damit rechnen, dass ein 3-Tupel zurückgegeben, indem Sie Schritt 12, aber für einenfile://
URL der zurückgegebene Wert kann einfach über alles.So, äh, ich nehme an, es ist by design.Auf die Reflexion, die Chancen sind, dass dies nicht wirklich beabsichtigt; es gibt keinen Grund, warumlocalStorage
sollte nicht Arbeit fürfile://
URLs. Vielleicht ist es einfach ein Fall von der Ausgabe des browser-spezifische Umsetzung entsprechen nicht den Erwartungen der anderen.Als für workarounds, würde
globalStorage
nicht tun, was Sie hier wollen?InformationsquelleAutor der Antwort Andrzej Doyle