Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止刷新浏览器时计时器重置?_Javascript_Jquery - Fatal编程技术网

Javascript 如何防止刷新浏览器时计时器重置?

Javascript 如何防止刷新浏览器时计时器重置?,javascript,jquery,Javascript,Jquery,如何在刷新浏览器时使计时器不重置 我使用blog=blogger 我这里的问题是,当我按下刷新时,计时器将重新启动到其原始时间。单击“刷新”按钮或关闭浏览器时,如何使计时器不重置 下面是示例1: 请给我举个例子。对不起,我是javascript的新手 函数二次激励法{ var h=数学楼层/3600; s-=h*3600; var m=数学楼层数/60; s-=m*60; 返回h+:+m

如何在刷新浏览器时使计时器不重置

我使用blog=blogger

我这里的问题是,当我按下刷新时,计时器将重新启动到其原始时间。单击“刷新”按钮或关闭浏览器时,如何使计时器不重置

下面是示例1:


请给我举个例子。对不起,我是javascript的新手

函数二次激励法{ var h=数学楼层/3600; s-=h*3600; var m=数学楼层数/60; s-=m*60; 返回h+:+m<10?'0'+m:m+:+s<10?'0'+s:s; } $function{ $.flink.clickfunction{ var timer=$this.parent.parent.find.timer'; iftimer.data“secleft”0{ $this.data'secleft',$this.data'secleft'-curtime-lasttime; $this.textseconstimespanothms$this.data'secleft'; }否则{ 如果$this.text!=$language.data'ready'{ $this.text$language.data'ready'; $this.parent.prev.fadeTo300,1; $this.parent.prev.prev.fadeTo300,1; } } }; lasttime=curtime; setTimeouttimer,1000; } 定时器; }; YouTheme或ReadyHirady链接
我想最好的解决方案是在服务器端保存计时器的值

如果您想在Javascript中执行此操作,那么将计时器的值保存到cookie是一种可能的解决方案

你可以读饼干

var x = document.cookie;
然后写信给cookie

document.cookie="username=John Doe";
请看这里:

希望有帮助


干杯

您可以使用Javascript本地存储来实现这一点。这是我贴在这里的另一个答案:

您可以使用会话存储来实现这一点。Javascript存储 数据跨页面持久化并刷新。以下是一些信息:


在刷新页面之前,您可以尝试将计时器保存在本地存储器中

$(function() {

    var timer = window.localStorage.getItem('timer') || 0;

    // some stuff with your timer

    $(window).on('beforeunload',function(){
        window.localStorage.setItem('timer', timer)
    });
});

您需要保存单击链接的时间或倒计时的时间。请参见演示:

函数二次激励法{ var h=数学楼层/3600; s-=h*3600; var m=数学楼层数/60; s-=m*60; 返回h+:+m<10?'0'+m:m+:+s<10?'0'+s:s; } $function{ $.flink.clickfunction{ var timer=$this.parent.parent.find.timer'; var id=计时器。数据'id';
如果timer.data'secleft',您必须在服务器端、cookie或localStorage中跟踪计时器。请给我举个例子。对不起,我是javascript新手。虽然我同意localStorage是解决问题的方法,但这段代码并不能解决问题,因为它存储计时器毫秒,直到下一次调用回调为止,但它不会占用时间ccount窗口是何时刷新的,还是在10秒后关闭并重新启动浏览器?@Gavriel我同意这不会考虑到您提到的实例,并且时间可能会损失-但是,手头的问题是阻止计时器重置,而不是失去时间。@sabrys56代码可能需要对您的pers进行一些调整个人情况-我提供了一个链接,指向有关会话存储的更多信息-您可以使用在那里学到的信息使此代码适用于您的情况。如果您需要跟踪刷新页面或关闭浏览器时丢失的时间,您可以将当前时间与计时器一起存储,并计算这个网站的美国计时器代码ineed usa这个我的博客的代码不是很准确。你不知道浏览器刷新这个网站的美国计时器代码mybitcoinfaucets.com ineed usa这个我的博客的代码我刷新并重置计时器可能是因为它从数据分钟打印开始的时间我在本地存储中设置了数据标记后,将对计时器的调用移到了。我希望这会有所帮助。我无法在代码段中测试刷新。当我单击mylink时计时器不会启动,它只会转到Google。com@sabrys56,你是对的,现在我在JSFIDLE中做了一个演示,发现了错误,我不得不将秒数乘以1000,以使现在它可以工作了。你甚至可以关闭浏览器,然后重新打开,它会继续倒计时。谢谢你的工作。我可以问你评级的问题。我需要评级,就像我的博客中的mybitcoinfaucets.com一样
$(function() {

    var timer = window.localStorage.getItem('timer') || 0;

    // some stuff with your timer

    $(window).on('beforeunload',function(){
        window.localStorage.setItem('timer', timer)
    });
});