我正在实现一些自定义计时器,用于计算指定的时间。如果用户手动重新加载页面,该计时器需要存储计时时间。这部分有效。但是在指定时间(在这种情况下为5秒)之后,用户需要被重定向。
为此,我使用sessionStorage来保持当前计算的时间。但是在5秒之后我试图从sessionStorage中删除项目并且它不起作用!
我犯了错误?在我的情况下如何从sessionStorage中删除项目? 感谢
var currentTime = sessionStorage.getItem("currentTime");
if (currentTime == null) {
currentTime = 0;
}
setInterval(function () {
currentTime++;
if (currentTime == 5) {
sessionStorage.removeItem("currentTime");
location.reload();
}
sessionStorage.setItem('currentTime', currentTime);
}, 1000);
答案 0 :(得分:1)
问题是location.reload()
不会终止JavaScript的执行。因此,在运行该行之后,仍会运行sessionStorage.setItem('currentTime', currentTime);
。要解决此问题,请将该行包装在if (currentTime == 5)
的else语句中。