Javascript:刷新时如何防止时间限制重置?

Javascript:刷新时如何防止时间限制重置?,javascript,jquery,Javascript,Jquery,我的时间限制有问题,因为当重新加载/刷新页面时,时间限制重置 注:我把这个时间限制用在了我的在线测验项目上,我用了一个标题位置来移动到下一个问题 HTML 不确定你是否能够通过页面刷新来解决这个问题。也许更好的答案是不要重新加载页面,而使用AJAX来做任何你需要做的事情。不确定你是否能够通过页面刷新来解决这个问题。也许更好的答案是不要重新加载页面,而是使用AJAX执行您需要执行的任何操作。将计时器值存储在cookie或本地存储中。将计时器值存储在cookie或本地存储中。您可以将时间存储在coo

我的时间限制有问题,因为当重新加载/刷新页面时,时间限制重置

注:我把这个时间限制用在了我的在线测验项目上,我用了一个标题位置来移动到下一个问题

HTML


不确定你是否能够通过页面刷新来解决这个问题。也许更好的答案是不要重新加载页面,而使用AJAX来做任何你需要做的事情。

不确定你是否能够通过页面刷新来解决这个问题。也许更好的答案是不要重新加载页面,而是使用AJAX执行您需要执行的任何操作。

将计时器值存储在cookie或本地存储中。

将计时器值存储在cookie或本地存储中。

您可以将时间存储在cookie中

//Set cookie
time_remaining = 200;
$.cookie('time_remaining', time_remaining);

//Retrieve cookie
time_remaining = $.cookie('time_remaining');
您应该能够轻松地在代码中实现上述功能(提示:每当计时器减少时,节省cookie中剩余的时间)


请注意,这并不是那么安全,用户可以轻松地在浏览器中清除和修改cookie。如果您正在寻找更安全的东西,则需要实现一些后端功能。

您可以将时间存储在cookie中

//Set cookie
time_remaining = 200;
$.cookie('time_remaining', time_remaining);

//Retrieve cookie
time_remaining = $.cookie('time_remaining');
您应该能够轻松地在代码中实现上述功能(提示:每当计时器减少时,节省cookie中剩余的时间)


请注意,这并不是那么安全,用户可以轻松地在浏览器中清除和修改cookie。如果您正在寻找更安全的产品,您需要实现一些后端功能。

您能教我如何实现吗?很抱歉,我刚刚收到了时间限制代码。我不熟悉在cookie或本地存储中存储js中的值。在php中,我使用$\u SESSION[]。thanks@VanAdrianCabrera有很好的资源可以学习
localStorage
,我建议从MDN中学习以下内容:
function setTimer(name,display,defvalue){var timer=localStorage.getItem('name')| | duration,interval=setInterval(function(){var minutes=parseInt(timer/60,10)seconds=parseInt(计时器%60,10);分钟=分钟<10?“0”+分钟:分钟;秒=秒<10?“0”+秒:秒;显示.text(分钟+”:“+秒);如果(--计时器<0){clearInterval(interval);localStorage.removeItem(name);}否则{localStorage.setItem(name,timer);},1000);}
用法:
jQuery(函数($){var fiveMinutes=60*5,display=$('#time');startTimer('myTimer',display,fiveMinutes);})
@VasylMoskalov感谢您的努力,我将尝试您的代码。您可以教我如何做吗?很抱歉,我刚刚也收到了时间限制代码。我不熟悉在cookie或本地存储中存储js中的值。在php中,我使用的是$\u SESSION[] . thanks@VanAdrianCabrera有很好的资源可以学习
localStorage
,我建议从MDN中学习以下内容:
function setTimer(name,display,defvalue){var timer=localStorage.getItem('name')| | duration,interval=setInterval(function(){var minutes=parseInt(timer/60,10)seconds=parseInt(计时器%60,10);分钟=分钟<10?“0”+分钟:分钟;秒=秒<10?“0”+秒:秒;显示.text(分钟+”:“+秒);如果(--计时器<0){clearInterval(interval);localStorage.removeItem(name);}否则{localStorage.setItem(name,timer);},1000);}用法:
jQuery(函数($){var fiveMinutes=60*5,display=$('#time');startTimer('myTimer',display,fiveMinutes);})
@VasylMoskalov感谢您的努力,我将尝试您的代码
        localStorage.setItem('time_remaining_min', minutes);
        localStorage.setItem('time_remaining_sec', seconds);

        var minutes_left = localStorage.getItem('time_remaining_min');
        var seconds_left = localStorage.getItem('time_remaining_sec');

        display.text(minutes_left + ":" + seconds_left);
//Set cookie
time_remaining = 200;
$.cookie('time_remaining', time_remaining);

//Retrieve cookie
time_remaining = $.cookie('time_remaining');