[英]localStorage not working properly on glitch.com?
我创建了一个增量游戏,并有兴趣将变量存储在 localStorage 中。 我决定先在小范围内尝试它是明智的。 我阅读了相当多的 w3 教程和堆栈溢出问题,但我无法让它发挥作用。 我写了以下内容:
var val; //declares test variable
function incr() {
val += 1;
document.getElementById("count").innerHTML = val; //update the div where the variable is displayed
console.log(val)
} //called on by an html button
function save() {
var saveGame = {
val: val
}
localStorage.setItem("saveGame",JSON.stringify(saveGame));
}
setInterval(function() {
save();
console.log("Game Saved.")
}, 100)
function saveDataTest() {
if (localStorage.getItem("saveGame") || null) {
load();
} //called on by 'onload' event
}
function load() {
var loadGame = JSON.parse(localStorage.getItem("saveGame"));
val = loadGame.val;
} //split string into an object/variable and use said object/variable to define variable
if (val == undefined){val = 0;}
正如我在标题中提到的,我正在使用 Glitch.com 并且考虑到我找不到任何问题,我认为这可能是网站的错。 如果我在代码中犯了错误,请纠正我。
var val = 0; //declares test variable
function incr() {
val += 1;
document.getElementById("count").innerHTML = val; //update the div where the variable is displayed
console.log(val)
} //called on by an html button
function save() {
var saveGame = {
val: val.toString(),
}
localStorage.setItem("saveGame",JSON.stringify(saveGame));
}
window.onload = function() {
loadGame = JSON.parse(localStorage.getItem("saveGame"));
load();
};
setTimeout(function() {setInterval(function() {
save();
console.log("Game Saved.")
}, 10)},400) //use delay so that game does not save immediately after loading
}
function load() {
if (!(localStorage.getItem("saveGame") == null)) {
val = Number(loadGame.val);}
} //split string into an object/variable and use said object/variable to define variable
使用 Number() 和 .toString() 将字符串转换为数字,反之亦然。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.