如何将javascript cookie从15天更改为手动执行新cookie?

时间:2012-12-09 16:35:32

标签: javascript cookies colorbox

我正在使用Colorbox实现一个脚本,该脚本在用户第一次访问网站时显示一个不错的弹出窗口。我发现这个脚本将cookie设置为持续15天 - 我想要的是手动管理我自己的“cookie-update”。在我的情况下,我想使用此脚本向用户显示我的网站已更新,并使用Colorbox显示更改日志;就在第一次访问时。像这样:

  • 更新#1 - >新cookie告诉我们有新的更新 - >显示Colorbox 1次 - >然后不再,直到......
  • 更新#2 - >新cookie告诉我们有新的更新 - >显示Colorbox - > ......等等......

问题的简短版本:如何从15天的计时器更改脚本以手动更改它以便我可以决定何时使用新的更改日志显示我的Colorbox?

原始脚本位于: http://papermashup.com/automatic-jquery-site-subscription-lightbox/

2 个答案:

答案 0 :(得分:0)

该脚本中有Jquery代码。

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

       // load the overlay

        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();
            $.colorbox({width:"580px", inline:true, href:"#subscribe_popup"});
        }

        $(".open_popup").colorbox({width:"580px", inline:true, href:"#subscribe_popup"});

 });

如果您想更改日期,请在此处进行更改。

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

答案 1 :(得分:0)

您需要在网站上添加日期 - 注意JS月份从零开始

DEMO

var latestUpdate=new Date(2012,11,10).getTime(); // 10th of December
var whatVersionSeen = parseInt($.cookie("visited"));
if (isNaN(whatVersionSeen)) whatVersionSeen = 0; // first time
if (whatVersionSeen < latestUpdate) { // whatever in the cookie < latest update
  $.cookie('visited', latestUpdate, { expires: 365 });
  $.colorbox({width:"580px", inline:true, href:"#subscribe_popup"});
}

以上代码替换

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();
  $.colorbox({width:"580px", inline:true, href:"#subscribe_popup"});
 }
完全

并希望找到$.cookie