You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 16:02:40