我正在创建在线考试类应用程序并在我的应用程序中
当用户点击开始按钮时,我们将显示3:00分钟的计时器
使用setTimeout(func,3*60*1000)
但是当我刷新页面时,重置功能正在重置,如何停止此
如何做到这一点,这是我的应用程序必备功能。
Javascript或jquery欢迎任何事情
答案 0 :(得分:0)
如果您需要以一种用户无法篡改的万无一失的方式实现这一目标,您必须设置计时器服务器端。
如果 ,那么您可以将开始时间存储在localStorage中,并在页面加载时使用该值从其开始的位置恢复计时器。
var oldStartTime = localStorage.getItem('startTime');
var startTime = oldStartTime ? new Date(oldStartTime) : new Date();
localStorage.setItem('startTime', startTime);
// you can now use startTime to determine the remaining duration for setTimeout:
var elapsed = new Date() - startTime;
var duration = 180000 - elapsed;
setTimeout(myFunction, duration);
既然你说它是考试,我认为你希望人们不能作弊。如果是这样的话,那么单凭客户端Javascript就没有办法做到这一点。用户始终可以篡改"如果它发生在他们自己的浏览器中。