在线测试倒计时防止刷新的基于cookie的cookie实现


$(函数(){())
无功_minute = parseInt($ { exampaper。papertime } );
无功_expireshours = _minute * 60 * 1000;

如果(!HasSetCookie()){
addcookie($ { } examineeid考生。
}
时间($(# remaintime ));
});
功能hassetcookie(){
无功strcookie = document.cookie;
无功arrcookie = strcookie.split(;);
对于(var i = 0;i < arrcookie.length;i++){
var arr = arrcookie {我}。分裂(=);
如果(ARR { 0 } = = $ {考生。examineeid }){
返回true;
}
};
返回false;
}
启动倒计时
作用时间(remaintime){
无功_time = getcookievalue(871d31bacfd4451484c5f70f8860c2a9 );
无功_countdown = parseInt(getcookievalue($ {考生。examineeid })) / 1000;

如果(_countdown <= 0){
警报()测试时间!;
EndExam();
{人}
无功_second = _countdown % 60;
无功_minute = parseInt(_countdown / 60)% 60;
无功_hour = parseInt(parseInt(_countdown / 60)/ 60);

如果(_hour<10)
_hour =0+ _hour.tostring();
如果(_second<10)
_second =0+ _second.tostring();
如果(_minute<10)
_minute =0+ _minute.tostring();

remaintime.html(_hour +:+ _minute +:+ _second);
_countdown --;
editcookie($ { } examineeid考生。
}
每1000毫秒一次
setTimeout(){()函数(
时间(remaintime);
},1000);
};

添加cookie
功能addcookie(名称,价值,expireshours){
无功cookiestring =姓名+=+逃跑(价值); / /逃避()函数可以编码的字符串,所以字符串可以在所有计算机上阅读。
确定是否设置了过期时间,0代表关闭浏览器失败
如果(expireshours > 0){
日期=新日期();
Date.setTime(date.gettime()+ expireshours×1000);
cookiestring = cookiestring +;到期=+ date.toutcstring();
}
cookiestring document.cookie =;
}

修改cookie的值
功能editcookie(名称,价值,expireshours){
无功cookiestring =姓名+=+逃跑(价值);
如果(expireshours > 0){
日期=新日期();
Date.setTime(日期,时间)+(expireshours×1000); / /毫秒
cookiestring = cookiestring +;到期=+ date.togmtstring();
}
cookiestring document.cookie =;
}

根据名称获取cookie的值
功能getcookievalue(name){
无功strcookie = document.cookie;
无功arrcookie = strcookie.split(;);
对于(var i = 0;i < arrcookie.length;i++){
var arr = arrcookie {我}。分裂(=);
如果(ARR { 0 } = =名字){
返回unescape(ARR { 1 });
打破;
{人}
继续;
};
};
}



以上是本文的全部内容,希望大家能喜欢。