如何设置此cookie永不过期

我有一个函数来创建一个cookie,传递cookie的名称,值和到期时间(以天为单位)。

这是function:

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; } function getCookie(c_name) { var i,x,y,ARRcookies=document.cookie.split(";"); for (i=0;i<ARRcookies.length;i++) { x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); x=x.replace(/^\s+|\s+$/g,""); if (x==c_name) { return unescape(y); } } } 

该function按预期工作,但我需要做什么来设置cookie永不过期?

没有办法设置never expire 。 这不是javascript限制,它不是cookie的规范的一部分http://www.faqs.org/rfcs/rfc2965.html 。

您可以设置为将来的远期日期。 例如,从现在开始设置它为20*365使用20*365作为exdays参数调用setCookie ,因为setCookie函数期望它到期前多少天。 如下

 setCookie('cookiename','cookie_val',20*365); 

变量exdays是cookie到期之前的时间,只需在函数调用中将该值设置为几千天即可。

 setCookie('cookiename', 'cookievalue', 10000); //expires in 10k days