HTML5挂机游戏localStorage存储对象失败问题排查及解决
HTML5 Idle游戏localStorage数据保存问题排查
我正在制作一款HTML5 idle游戏以练习JavaScript,尝试使用localStorage保存游戏数据,参照示例教程操作后仍无法正常工作,希望排查问题所在。
我的代码:
let gameData = { money: 0 } document.body.onkeyup = function(e) { if (e.key == " " || e.code == "Space" || e.keyCode == 32 ) { money++; refresh(); } } window.onload = (function() { load(); refresh(); }); function refresh() { gameData = { money: money } upd(info); } window.onbeforeunload = save; function save() { localStorage.setItem("lastGameState", JSON.stringify(gameData)) } function load() { if (localStorage.length > 0) { let lastLoad = JSON.parse(localStorage.getItem("lastGameState")); gameData = { money: lastLoad.money } } }
我的需求是能够在gameData中添加任意数量的变量(不超过localStorage限制),页面关闭时自动保存数据,页面加载时读取数据,若无保存数据则设为初始值0。upd()函数用于将变量内容显示到页面上。
编辑补充:问题已解决,经排查问题与localStorage无关,是refresh函数存在错误。感谢帮助
内容的提问来源于stack exchange,提问作者Elliot Jackson
相关产品推荐
相关产品推荐

