【问题标题】:Understanding Cookie Expiration - And How to Set了解 Cookie 过期 - 以及如何设置
【发布时间】:2011-11-12 07:08:47
【问题描述】:

我在我的网站上使用 cookie 在页面加载时显示一次颜色框,然后用户可以选择每次手动加载颜色框。但我不明白的是您如何设置 cookie 的到期日期。我在 SO 上从another question 获得了所需的代码,如果有人可以向我解释这里是什么,这将有所帮助。

var $j = jQuery.noConflict();

$j(document).ready(function(){

   if (document.cookie.indexOf('visited=true') == -1) 
   {
      var fifteenDays = 1000*60*60*24*15;
      var expires = new Date((new Date()).valueOf() + fifteenDays);
      document.cookie = "visited=true;expires=" + expires.toUTCString();
      $j.colorbox({ inline:true, href:"#gallery-nav-instruct"});
   }

});

我认为这意味着 cookie 将在 15 天后过期。我如何将其更改为更长?说 30 天还是 60 天?

【问题讨论】:

  • 30 天 = 15 天 * 2。类似的 60 天。您确定要使用 javascript 而不是服务器端进行设置吗?
  • @user1012037 - 我使用没有服务器端访问权限的 CMS,因此目前不可能。 JS是我必须去的。
  • 这些数字组合到底是什么意思:1000*60*60*24*15; 是什么意思?如果说 60 天,你会改成什么?
  • 这些数字是 15 天内的总毫秒数。要增加到 60 天,请再次乘以 4 (15*4=60)。

标签: jquery cookies colorbox


【解决方案1】:

这里要注意的关键是

var fifteenDays = 1000*60*60*24*15;

15 天,每一天有 24 小时,每一天有 60 分钟,每一天有 60 秒。

最后一个因子是 1000。所以 fitteenday 变量保存了 15 天内的 毫秒 数。

var expires = new Date((new Date()).valueOf() + fifteenDays);

此声明暗示 cookie 的到期日期是当前日期加上 15 天。

因此,当您希望 1530 天到期时,您只需将 15 替换为您在介意

【讨论】:

  • 我有相同的脚本。您将如何设置在 15 分钟后到期的时间?
  • 15 分钟是这样的:new Date((new Date()).valueOf() + 15 * 60 * 1000)
【解决方案2】:

出于所有实际目的,这里是一个简单的表格。

var expires = new Date((new Date()).valueOf() + time);

其中时间 = 如下:

  • 1 毫秒: 时间 = 1
  • 1 秒: 时间 = 1000
  • 1 分钟: 时间 = 60 * 1000
  • 1 小时: 时间 = 60 * 60 * 1000
  • 1 天(24 小时): 时间 = 24 * 60 * 60 * 1000
  • 1 月平均(29.6 天): 时间 = 29.6 * 24 * 60 * 60 * 1000
  • 1 年 (365.24): 时间 = 365.24 * 24 * 60 * 60 * 1000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-09
    • 2017-02-20
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 2022-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多