我有一个使用 Java、JSP 和 CSS 的简单游戏应用程序。当在游戏板上单击问题时,会将用户带到另一个 JSP(问题),而当用户提交答案时,他们会被带回游戏板。
我的 HTML:
<td id="link"><a href="QuestionServy?question=0" onclick="myFunction()">100</a></td>
我的 JavaScript:
function myFunction() {
document.getElementById('link').innerHTML = "";
}
问题是,当用户选择问题并提交时,他们会被重定向回游戏板页面,并且状态不会保存。
我研究发现可以使用sessionStorage,但我不太确定如何实现它。
任何帮助将不胜感激!
<小时/>
编辑:
该程序目前的样子: game board
单击第一个链接后应该是什么样子: game board after click
您
可以
需要使用window.localStorage .
问题页面
您可以轻松使用 getItem
和 setItem
函数,如下所示:
function myFunction () {
window.localStorage.setItem('answer1', 'bla bla bla');
...
document.getElementById('link').innerHTML = "";
}
答案页面
您可以在应用程序中的任何位置(甚至在不同 session 之间)获取此值,如下所示:
var answer1 = window.localStorage.getItem('answer1');
更新
sessionStorage
仅保存单个 session ,并且(如前所述 here )
Opening a page in a new tab or window will cause a new session to be initiated
由于您是在新选项卡中打开问题页面,而不是在同一页面(SPA 样式)中打开,因此您的sessionStorage
将过期。
解决方案
只需将 window.sessionStorage
替换为 window.localStorage
希望有帮助:)
我是一名优秀的程序员,十分优秀!