将Cookie设置为24小时后到期

时间:2012-10-18 19:05:12

标签: javascript setcookie

表单包含以下代码以防止提交多个表单:

function AllowNoDups() { var cookie_ls = document.cookie; if (cookie_ls.indexOf(document.location) > -1) {
  alert("You've already submitted a free meter request. Thank you for your interest!  ");
  return false; } else { document.cookie = 'username=' + value; + 'expires=' + var now = new Date(); var time = now.getTime(); time += 3600 * 1000; now.setTime(time); document.cookie = 'username=' + value + '; expires=' + now.toGMTString() + '; path=/';; + 'path = /' document.cookie =  "; path=/newform.php; expires=Sun, 1-Jan-2040 00:00:01 GMT;"; return true;};};

虽然代码有效,但我宁愿将cookie设置为在24小时后过期,而不是指定cookie过期的日期。我将如何实现这一目标?谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用max-age属性。请参阅此维基百科article

  

作为绝对值设置cookie过期的替代方法   日期/时间,RFC 6265允许使用Max-Age属性来设置   cookie的到期时间为未来的秒数,相对而言   到浏览器收到cookie时。

答案 1 :(得分:0)

使用此功能并根据您的要求传递参数。

function callcookie(name,value,days){
  if(days){
      var d=new Date();
      d.setTime(d.getTime()+(days*24*60*60*1000));
      var expires = "; expires="+d.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}