Javascript 重新加载页面后如何保留变量的值?

Javascript 重新加载页面后如何保留变量的值?,javascript,Javascript,我的代码中有一个函数,如果按下按钮,该函数会将页面刷新时间从50秒逐渐减少到10秒。这是: <div id="signin" onclick="pgeReload()"></div> .... <script type="text/javascript"> var count=0; function pgeReload(){ if(count <= 4){ count++; } v

我的代码中有一个函数,如果按下按钮,该函数会将页面刷新时间从50秒逐渐减少到10秒。这是:

  <div id="signin" onclick="pgeReload()"></div>

   ....

 <script type="text/javascript">
   var count=0;
   function pgeReload(){

     if(count <= 4){
       count++;
     }
     var times = count*10000;
     var pospond = 50000-count;
     setTimeout(function(){window.location.reload()}, pospond);
   }

 </script>
你可以使用HTML5

window.content.localStorage[key]=value; //Saving

window.content.localStorage[key]; //Accessing

delete window.content.localStorage[key]; //Delete
其中KEY=要存储的变量的名称,VALUE是要保存的字符串值。这只支持保存字符串,但如果需要保存对象,可以使用JSON“字符串化”对象

因此,您可以执行以下操作:

<script type="text/javascript">

function pagereload(){

if(typeof(Storage)!=="undefined")
{
var count=(window.content.localStorage[key])? parseInt(window.content.localStorage[key]): 0;
count++;
window.content.localStorage[key] = count;

var tempTime = count*1000;
var pospond = 50000-tempTime;
setTimeout(function(){window.location.reload()}, pospond);

}
else{
setTimeout(function(){window.location.reload()}, 30000);
}
</script>

函数pagereload(){
if(类型(存储)!=“未定义”)
{
var count=(window.content.localStorage[key])?parseInt(window.content.localStorage[key]):0;
计数++;
window.content.localStorage[key]=计数;
var TENTIME=计数*1000;
var pospond=50000次;
setTimeout(函数(){window.location.reload()},pospond);
}
否则{
setTimeout(函数(){window.location.reload()},30000);
}

您最好看看浏览器cookie


您可以使用cookie或本地存储在浏览器上持久存储数据

然后,在同一域上的未来页面中,您可以使用javascript检索先前的值。如果不使用像这样的技术在本地存储数据,每次重新加载浏览器页面都会全新开始


您的另一个选项是代表当前用户将数据存储在服务器上。当客户端中的值发生更改时,您将向服务器发出ajax调用,以便将新值存储在服务器上。然后,您可以在将来的页面中使用ajax从服务器检索值,或者服务器可以将当前值放入每次请求时,您都需要一种识别当前用户(通常是用户登录)的方法,以便服务器能够检索正确的用户数据。

使用localstore是一个好主意,但如果您正在寻找简单的方法,则可以在重新加载页面时将计数放入查询字符串中,例如:

window.location.href = url + '?count=' + count
您可以根据变量检查计数或它是否为初始负载:

window.location.search
例如,如果使用
?count=3
重新加载页面,则此变量的值将为
?count=3
。您也可以将计数本身放入查询字符串中以简化解析,如下所示:

window.location.href = url + '?' + count

您可能会从使用html5会话存储中受益。在这个特定的示例中如何使用它?如果您在新选项卡中打开同一页,会发生什么情况?我对html5不太在行。此外,并非所有浏览器都支持它。您知道我如何用javascript实现它吗?我是说任何等价的?等一下,我将尝试任何浏览器都支持此选项?所有模式rn浏览器支持HTML5,即使在移动设备中也是如此。Internet Explorer 8+、Firefox、Opera、Chrome和Safari都支持Web存储。只有Internet Explorer 7和早期版本不支持Web存储。好的。我会查看一下。几秒钟后,我还应该在代码中放置
count=0
吗?代码应该从
w获取
count
indow.location.search
。如果不存在,则使用
count=0
,如果存在,则将其用作计数。
window.location.href = url + '?' + count