所以我有一个带有游戏的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"))
}
如何(如果可能)解决此问题,为什么会发生?
答案 0 :(得分:3)
您是否尝试过使用sessionStorage?我的应用程序在本地运行,但是当我使用localStorage时,一旦部署到github页面,它就会崩溃。我的问题是,在测试过程中,上一个会话的值从存储中持久保存到了应用程序中。使用localStorage在代码中隐藏了一个错误,在切换到sessionStorage并修复了逻辑后,我可以修复该错误。
形式上,差异是:
sessionStorage为每个给定维护一个单独的存储区域
在页面会话期间可用的来源(只要
当浏览器打开时,包括页面重新加载和还原)。
localStorage做同样的事情,但是即使浏览器仍然存在 关闭并重新打开。 MDN