跨页面坚持jQuery Cookie

时间:2016-02-16 13:36:48

标签: javascript jquery cookies

我正在使用jQuery Cookie插件(https://github.com/carhartl/jquery-cookie),而且我的网站上不同页面的Cookie存在问题。

我有一个内容显示在每个页面上,一旦隐藏它就像这样设置cookie(所有变量的道歉,它们根本不相关:

// Binds the close event to the button.
$alert.on('click', function(e) {
    $alertWrap.fadeOut();

    // Sets the breaking-delete cookie to yes.
    $.cookie('breaking-bar-delete', 'yes', {expires: 7 });
});

当初始脚本触发时,它会检查cookie是否存在:

// If the current bar is not supressed and they are not in the editor, and they do not have a closed cookie it will setup the bar.
if ($.cookie('breaking-bar-delete') == undefined) {
  $alert.css("display","block");
}

// If there's no news, or they have the closed cookie for the current bar it hides it by default.
if ($.cookie('breaking-bar-delete') == 'yes') {
  $alert.parent().css("display","none");
}

现在这适用于隐藏栏的路径,因此如果刷新则不会重新显示。但是如果你使用不同的路径访问网站的一部分,它就不会检测到cookie并显示内容。

我最初提供cookie时是否可以设置某种配置,以便在我网站的所有页面中保留这些配置?

1 个答案:

答案 0 :(得分:4)

Path: -

  

<强>路径

     

path:'/'定义cookie有效的路径。

     

默认情况下,cookie的路径是cookie所在页面的路径   创建(标准浏览器行为)。

     

如果你想让它可用   例如,在整个域使用路径:'/'。

     

默认值:创建cookie的页面路径。

所以,对于你的cookie: -

$.cookie('breaking-bar-delete', 'yes', { expires: 7, path: '/' });