EDIT: Поскольку мой вопрос кажется неясным, я буду перефразировать мой вопрос.Как правильно использовать локальное хранилище?
мне нужно:
магазин переменных на локальном хранилище. У меня есть кнопка, которая делает это.
Извлеките значения переменных, но только в том случае, если в локальном хранилище есть какое-либо значение. Если нет, то я хочу установить стандартное значение.
Удалить местное хранилище. У меня также есть кнопка для этого.
Я использую следующий код в этой ситуации, но переменная scrapMetal
всегда возвращается истинным.
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);
});
проверить документы модернизатора ... вы уверены, что 'if (Modernizr.localstorage)' не должно быть 'if (Modernizr.localStorage)'? Обратите внимание на различия в случае. Или просто используйте 'if (window.localStorage)' – charlietfl
. Чтобы установить ключи на localstorage, вы используете setItem как localstorage.setitem («keyname, value») и получите его localstorage.getItem («keyname») – Geeky
@charlietfl 'localstorage' написано правильно. – Bushido