【发布时间】:2014-02-20 17:27:32
【问题描述】:
我正在使用以下功能
function setCookie(c_name,value,exdays){
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
setCookie("userName","vimalraj.s",1);
它在“会话”中创建 cookie,而不是 24 小时到期时间。
如何解决这个问题?
更新:
以上代码在我同事的电脑 Firefox(27.0.1) 上运行良好 而且它对我来说不是相同的 Firefox 版本
我什至尝试过“max-age”而不是“expires”
function set_cookie ( cookie_name, cookie_value,
lifespan_in_days, valid_domain )
{
// http://www.thesitewizard.com/javascripts/cookies.shtml
var domain_string = valid_domain ?
("; domain=" + valid_domain) : '' ;
document.cookie = cookie_name +
"=" + encodeURIComponent( cookie_value ) +
"; max-age=" + 60 * 60 *
24 * lifespan_in_days +
"; path=/" + domain_string ;
}
没有任何效果...
【问题讨论】:
-
我认为创建一个具有相同详细信息和新过期的新 cookie 将用新的 cookie 覆盖现有 cookie。
-
很抱歉,如果您知道这一点。确保您正在从有效域测试您的 cookie 内容(localhost 不是有效域,会导致一大堆麻烦)
-
感谢您的回复,可能是我的Firefox版本问题
-
我的代码在 Google Chrome 中运行良好,我在 Firefox 中肯定有问题
标签: javascript session cookies browser