localStorage中断github页面

时间:2019-06-08 18:03:30

标签: javascript local-storage github-pages

所以我有一个带有游戏的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"))
}

如何(如果可能)解决此问题,为什么会发生?

1 个答案:

答案 0 :(得分:3)

您是否尝试过使用sessionStorage?我的应用程序在本地运行,但是当我使用localStorage时,一旦部署到github页面,它就会崩溃。我的问题是,在测试过程中,上一个会话的值从存储中持久保存到了应用程序中。使用localStorage在代码中隐藏了一个错误,在切换到sessionStorage并修复了逻辑后,我可以修复该错误。

形式上,差异是:

  • sessionStorage为每个给定维护一个单独的存储区域
    在页面会话期间可用的来源(只要 当浏览器打开时,包括页面重新加载和还原)。

  • localStorage做同样的事情,但是即使浏览器仍然存在 关闭并重新打开。 MDN