localStorage打破了github页面

问题描述 投票:0回答:1

所以我有一个GitHub页面,上面有一个游戏,我想用localStorage来存储用户的分数。然而,这给脚本带来了一些问题,因为游戏不再工作了,应该打印在屏幕上的东西没有打印出来(使用document.write)。这是我添加的代码。

if (localStorage.getItem("highscore") !=== null) {
    document.write("Your highscore is " + localStorage.getItem("highscore"));
}
else {
    document.write("Play the game to set a highscore");
}
//game code
if (testhighscore && localStorage.getItem("highscore") > myGameArea.frameNo) {
    localStorage.setItem("highscore", myGameArea.frameNo)
    document.write("Your highscore is now " +  localStorage.getItem("highscore"))
}

我如何(如果可能的话)修复这个问题,为什么会发生这种情况?

javascript local-storage github-pages
1个回答
1
投票

你有没有试过用sessionStorage来代替?我的应用程序在本地工作,但一旦部署到github页面,当我使用localStorage时,它就会崩溃。我的问题是在测试过程中,之前的会话中的一个值被从存储中持久化到应用程序中。使用localStorage隐藏了我代码中的一个bug,在切换到sessionStorage并修正我的逻辑后,我得以修复。

从形式上看,两者的区别是

  • sessionStorage为每一个给定的原点维护一个单独的存储区域,在页面会话期间(只要浏览器打开,包括页面重载和恢复)都是可用的。

  • localStorage做同样的事情,但即使浏览器关闭和重新打开也会持续存在。MDN

© www.soinside.com 2019 - 2024. All rights reserved.