实际上我在该考试门户网站开发了一个在线考试门户网站,我设置时间10分钟就像代码一样(在java脚本中):
<script language="JavaScript" type="text/javascript">
var sec = 01; // set the seconds
var min = 10; // set the minutes
var canno = 0;
function countDown() {
sec--;
if (sec == -01) {
sec = 59;
min = min - 1;
}
else {
min = min;
}
if (sec <= 9) { sec = "0" + sec; }
time = (min <= 9 ? "0" + min : min) + " mins : " + sec + " sec ";
if (document.getElementById) { document.getElementById('theTime').innerHTML = time; }
SD = window.setTimeout("countDown();", 1000);
if (min == '00' && sec == '00') {
alert("TimesUp! Moving to Next Page");
var answer = document.getElementById('<%=txtEssay.ClientID%>').value;
window.open("English_Skills.aspx?CandNo=<%=CandidateNumber%>&QuesNo=<%=QuesNo%>&a1=" + answer, "_self", "");
sec = "00"; window.clearTimeout(SD);
}
}
window.onload = countDown;
</script>
如果点击浏览器或键盘上的后退按钮,它将不会像java脚本中的代码一样预览页面:
<script type = "text/javascript" >
function preventBack() { window.history.forward(); }
setTimeout("preventBack()", 0);
window.onunload = function () { null };
</script>
问题
如果时间在10点30分运行,如果点击浏览器或键盘上的后退按钮,时间重置,它将在10:00分钟到来。我不想要10:00分钟我想继续5:30到10:00的时间......
请帮帮我
由于
与Pradeep
答案 0 :(得分:1)
你应该始终依靠服务器端代码来计时这种性质的东西。客户端/浏览器很容易愚弄或伪造。这样做不仅困难,而且通常远比服务器端安全得多。
答案 1 :(得分:0)
您需要做的是使用Web worker在后台运行javascript并将时间设置为cookie 检查网络工作者的此链接
并注意一件事,网络工作者只适用于他们不适用于旧浏览器的现代浏览器
或者你可以用cookies来处理这个