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

标签 javascript header xhtml

在下面的代码中,即使我重新加载页面,我也想节省计时时间。保存为静态的变量是“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/

    相关文章:

    oracle - 在 sqlplus 中假脱机 csv 文件时的 header 格式

    c++ - 如何从 CodeBlocks 或 Makefile 强制包含 header ?

    javascript - 使用 JQuery 收集表单数据并删除或隐藏表单字段

    javascript - 打开新选项卡后如何立即返回父选项卡?

    c++ - 不命名 C++ 中的类型

    html - 使用 HTML5 移动样板 (MBP) 开发移动网站

    forms - 输入字段NAMES在表单之间必须唯一吗?

    javascript - 如何重载 JavaScript 函数? (更改 Slickgrid 的编辑器)

    javascript - 父级将状态传递给子级 - React js

    javascript - Browserify、Babel 6、Gulp - 传播运算符上的意外标记