我的网站上有一个顶栏,其中包含一些为用户提供的重要信息(就像 stackoverflow 让您知道,当您到达新徽章时,您会在顶部看到这个可以关闭的黄色栏)。
我只是想让该栏在访问者访问我的网站时可见。一旦他关闭了栏,就应该保存一个 cookie,并且该栏永远不会再出现。
因此,我使用jquery cookie插件。有什么想法为什么不起作用吗?
var topInfo = $.cookie('topinfo');
if (topInfo) {
$('#topBar').hide();
} else {
$('#topBar').show();
}
$('#topBar .topBarCloser').click(function() {
$(this).parent().slideUp({
duration: 300,
easing: 'easeOutQuint',
complete: function() {
$(this).remove();
$.cookie('topinfo', true, { expires: 1000 });
}
});
});
我在这里做错了什么?我已将到期日期设置为 1000 天。
最佳答案
$.cookie 无法工作的另一个原因(jquery.cookie 不会删除 cookie) - 也许不是在这种情况下,但一般来说可能有人查看此页面并需要这个信息 - 是因为您将其设置为特定路径,但您尝试删除它而不再次设置路径。
示例:
如果你像这样设置cookie
$.cookie("CookieName", "yourValue", { path: '/' });
并且您尝试以这种方式删除它:
$.cookie("CookieName",null);
这是行不通的,你必须写:
$.cookie("CookieName", null, { path: '/'});
或者您之前选择的任何路径。
关于jquery cookie 插件 - 无法让它工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5529129/