localStorage ruft nach Seitenaktualisierung keine Werte ab
Ich versuche, die Funktion html5 localStorage zu testen. Aus irgendeinem Grund, wenn ich versuche, einen Wert aus dem Speicher abzurufen,nacenn ich die Seite aktualisiere, werden nur Nullwerte zurückgegeben. (Wenn ich versuche, die Werte in derselben Funktion abzurufen, in der ich sie eingestellt habe, kann ich sie ordnungsgemäß abrufen.)
Eine Sache: Das von mir geladene HTML / Javascript wird von der lokalen Festplatte angefordert (z. B. verwende ich die Zeichenfolge: "file: /// C: /testLocalStore.html", um die Datei zu durchsuchen, anstatt sie von einem Webserver anzufordern. Würde dies zu Problemen mit dem localStore führen?
(Ich möchte das vollständige Codebeispiel veröffentlichen, habe jedoch einige Probleme mit der Formatierung. Ich werde es in Kürze veröffentlichen.)
<html> <head> <title>test local storage</title>
<base href="http://docs.jquery.com" />
<script src="http://code.jquery.com/jquery-1.3.js"></script>
<script type="text/javascript">
function savestuff()
{
var existingData = localStorage.getItem("existingData");
if( existingData === undefined || existingData === null )
{
// first time saving a map.
existingData = $("#mapName").val();
}
else
{
existingData = existingData + "," + $("#mapName").val();
}
localStorage.setItem("existingData", existingData);
// test is non-null here, it was properly retrieved.
var test = localStorage.getItem("existingData");
}
$(document).ready( function init()
{
// existing data is always null.
var existingData = localStorage.getItem("existingData");
if( existingData !== null )
{
var existingDataListHtml = existingData.split(",");
existingDataListHtml = $.each(existingData, function(data) {
return "<li>" + data + "<\/li>";
});
$("#existingData").html("<ul>" + existingDataListHtml + "<\/ul>");
}
} );
</script>
</head> <body>
<form id="loadFromUser" onsubmit="savestuff();">
<input id="mapName" type="text">
<input type="submit" value="save">
</form>
<div id="existingData"> </div>
</body> </html>