Art*_*yom 8 cookies internet-explorer http
有一个标题Max-Age,允许指定cookie的到期时间.不幸的是,Internet Explorer 6,7,8以及之后可能不支持Max-Age,并要求Expits标题以GMT为绝对日期.
特定客户端上的GMT时间和TZ设置可能不正确并不罕见.考虑未正确定义其时区的用户并手动调整时钟.
更重要的是,有时可能存在很多分钟的显着时钟偏差,用户不知道它们.
在这种情况下,其GMT时间可能会转移到几个小时.实际上,它会阻止服务器设置任何需要较短过期时间的cookie.如果TZ不正确,请考虑永远不会设置最长10分钟的cookie.
关于如何解决问题的原创想法(不起作用或有问题):
问题:
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
然后之后你得到的cookie name,并maxAge和otherOptions从什么地方(如路径,域):
var date = new Date();
date.setTime(date.getTime() + (maxAge * 1000));
document.cookie = name + "=" + readCookie(name) + 
    '; expires=' + date.toUTCString() + otherOptions
我所做的是将时间转移到服务器端.你永远无法确定客户端的时间,但你知道你的服务器永远不会说谎.