【发布时间】:2012-06-23 13:58:25
【问题描述】:
我正在使用一个设置 cookie 的函数。此函数允许将 cookie 名称、cookie 值和 cookie 的附加到期日期传递给它。
function setCookie(name, value, exdate) {
var c_value = escape(value) +
((exdate === null || exdate === undefined) ? "" : "; expires=" + exdate);
document.cookie = name + "=" + c_value;
};
用法:
setCookie("my-cookie-name","my-value","Sun, 15 Jul 2012 00:00:01 GMT");
我已经使用了上述日期格式的函数,并且认为它是跨浏览器兼容的,因为我已经测试过关闭各种浏览器并重新打开它们后 cookie 是否仍然存在。我发现使用"15 Jul 2012" 之类的格式时会出现问题。这种格式在 Firefox 的开发过程中对我有用,但其他浏览器似乎只将 cookie 设置为会话 cookie。
我应该坚持使用这种格式:"Sun, 15 Jul 2012 00:00:01 GMT" 还是我可以使用适用于主流浏览器(IE 7-9、Firefox、Chrome、Opera、Safari)的到期日期的其他格式?
【问题讨论】:
标签: javascript cookies