我是多项选择问卷项目的最后一部分。我需要为考试中出现的所有考生提供一个通用计时器。
使用javascript,定时器工作正常,但我们发现用户可能会更改系统日期时间来欺骗我们的风险。因此,我们需要服务器日期时间来运行倒数计时器。
这是我们目前的代码:
<script>
var end = new Date("12/3/2016 03:56 PM");
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
window.location ="scorecard.php";
exit;
return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById("countdown").innerHTML = hours + ": ";
document.getElementById("countdown").innerHTML += minutes + ": ";
document.getElementById("countdown").innerHTML += seconds + "";
}
timer = setInterval(showRemaining, 1000);
</script>
<div id="countdown"></div>
使用了两个变量:结束和现在。
我需要的是这两个变量的值应来自服务器,其中 end 应来自包含考试结束日期和时间的数据库列:2016年6月12日3 :0 PM,现在的值应该是服务器的当前日期时间。
想法:由于脚本将在每个页面加载时执行,即使用户更改了系统日期时间,我的变量也会在每次重新加载页面时同步。