EDIT: Da meine Frage unklar scheint, werde ich meine Frage umformulieren.Wie verwende ich den lokalen Speicher richtig?
Ich muss:
Shop Variablen auf dem lokalen Speicher. Ich habe einen Knopf, der das macht.
Rufen Sie die Werte der Variablen ab, aber nur, wenn ein Wert im lokalen Speicher vorhanden ist. Wenn nicht, dann möchte ich den Standardwert setzen.
Lokalen Speicher löschen. Ich habe auch einen Knopf dafür.
Ich verwende den folgenden Code in dieser Situation aber variable scrapMetal
wird immer als wahr zurückgegeben.
Javascript:
//Been to variables
var beenToPrison = true;
//Item variables
var scrapMetal = false;
//Room variables
var currentRoom = 'prison';
//Mission variables
var currentMission = 'breakOut';
//Store
$("#media-icon1").click(function() {
if (Modernizr.localstorage) {
localStorage.setItem("curmission", currentMission);
localStorage.setItem("curroom", currentRoom);
localStorage.setItem("scrpmtl", scrapMetal);
localStorage.setItem("beenprison", beenToPrison);
addText($('<p>Game saved.<br><br></p>'))
}
else {
addText($('<p>Browser does not support saving.<br><br></p>'))
}
console.log(scrapMetal);
});
//Remove storage
$("#media-icon2").click(function() {
if (Modernizr.localstorage) {
localStorage.removeItem('curroom', 'beenprison', 'scrpmtl', 'curmission');
addText($('<p>Save erased.<br><br></p>'))
}
else {
addText($('<p>Browser does not support saving so there is nothing to delete.<br><br></p>'))
}
console.log(scrapMetal);
});
//Add a P element to the placeholder in the focus screen
var addText = function(el) {
el.hide().appendTo('#placeholder').fadeIn(1000);
}
//Check if browser support local storage using a library
$(document).ready(function() {
if (Modernizr.localstorage) {
addText($('<p>Your browser supports local storage. Game data can be saved by pressing the save button.<br><br></p>'))
scrapMetal = localStorage.scrpmtl;
if (scrapMetal === null) {
scrapMetal = false;
}
else {
scrapMetal = localStorage.scrpmtl;
}
}
else {
addText($('<p>Your browser does not support local storage. Your game can not be saved. Please use another browser or update your current browser.<br><br></p>'))
}
console.log(scrapMetal);
});
check the moderniser docs ... bist du dir sicher 'if (Modernizr.localstorage)' sollte nicht 'if (Modernizr.localStorage)' sein? Beachten Sie die Fallunterschiede. Oder benutze einfach 'if (window.localStorage) ' – charlietfl
Um Schlüssel auf localstorage zu setzen, musst du setItem als localstorage.setitem (" keyname, value) verwenden und es ist localstorage.getItem ("keyname") – Geeky
@charlietfl 'localstorage' – Bushido