gpt4 book ai didi

javascript - 如何使用 Javascript 保存静态变量,即使在刷新页面时也是如此

转载 作者:行者123 更新时间:2023-12-02 14:59:41 25 4
gpt4 key购买 nike

在下面的代码中,即使我重新加载页面,我也想节省计时时间。保存为静态的变量是“diff”。因为我需要我的计时器返回我重定向到同一页面时保存的最后时间。此代码在 header 部分中声明。这段代码没有这样做,我该如何实现呢?`



<pre><code><script language="JavaScript">enter code here

var startTime = 0
var start = 0
var end = 0
var diff = 0
var timerID = 0
function chrono(){
end = new Date()
diff = end - start
diff = new Date(diff)
var msec = diff.getMilliseconds()
var sec = diff.getSeconds()
var min = diff.getMinutes()
var hr = diff.getHours()-1
if (min &lt; 10){
min = "0" + min
}
if (sec &lt; 10){
sec = "0" + sec
}
if(msec &lt; 10){
msec = "00" +msec
}
else if(msec &lt; 100){
msec = "0" +msec
}
//alert(document.getElementById("chronotime").innerText);
/* document.getElementById("pps").innerHTML = hr + ":" + min + ":" + sec + ":" + msec

document.getElementById("ppa").innerHTML = hr + ":" + min + ":" + sec + ":" + msec */

document.getElementById("chronotime").innerHTML = hr + ":" + min + ":" + sec + ":" + msec
timerID = setTimeout("chrono()", 10)
}
function chronoStart(){

start = new Date()
chrono()
}
function chronoContinue(){

start = new Date()-diff
start = new Date(start)
chrono()
}
function chronoReset(){
document.getElementById("chronotime").innerHTML = "0:00:00:000"
start = new Date()
}
function chronoStopReset(){
document.getElementById("chronotime").innerHTML = "0:00:00:000"
document.chronoForm.startstop.onclick = chronoStart
}
function chronoStop(){
document.chronoForm.startstop.value = "start!"
document.chronoForm.startstop.onclick = chronoContinue
document.chronoForm.reset.onclick = chronoStopReset
clearTimeout(timerID)
}



</script>
</code></pre>

最佳答案

刷新后您无法使变量保持事件状态,因为变量是在窗口中创建的,刷新后将重新加载。

var a = 10;
//You can access this variable as below
console.log(a);//1st way
console.log(window.a);//2nd Way

因此,当页面刷新时,窗口会重新加载。

尝试以cookie的形式保存变量(旧传统方式)

document.cookie="key=value; key=value....."

存在的其他选项有:(相对较新。)

  1. 在浏览器“HTML5 Web SQL 数据库”( Reference ) 中。

但是前段时间我测试了一下,在ff上不行。

  • 本地存储。下面是语法:

    localStorage.setItem("开始", "10");

  • 上面讨论的选项适用于客户端。该值也可以保存在服务器端。

    关于javascript - 如何使用 Javascript 保存静态变量,即使在刷新页面时也是如此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35524101/

    25 4 0
    文章推荐: javascript - AngularJS Controller 中的内容未放置在页面上
    文章推荐: javascript - 调用 Flux Store 操作时 setState 并未更新状态
    文章推荐: javascript - WebGL:glDrawElements 超出顶点边界
    文章推荐: javascript - 如何使用javascript获取