【问题标题】:Simple Javascript/JQuery Cookie Question简单的 Javascript/JQuery Cookie 问题
【发布时间】:2010-01-21 01:02:37
【问题描述】:

我有一个动画,我只想播放一次,我想既然动画是在 JQuery 中的,那么编写 cookie 文件的函数也应该是。

到目前为止,我得到了:

$(document).ready(function(){

if (!$.cookie('cookieName'))
 {
    setTimeout(function() {    
    $('#intro').fadeOut(1000); 
 }, 5000);
};

$.cookie('cookieName', 'the_value');

});

我想我在想这会检查是否有 cookie,如果没有则播放动画。完成后,它会写入一个 cookie,因此当我返回该页面时,它不会播放。我正在调用 Klaus Hartl cookie 插件,但出于某种原因,这不是为我做的。

非常感谢。

【问题讨论】:

  • 我认为这个 cookie 代码是假的。有一天我用相同的代码设置了 cookie,前几天它只是制作会话 cookie。

标签: javascript jquery cookies


【解决方案1】:

我查看了该插件的代码。我认为您可能需要在创建 cookie 时指定选项和到期时间。像这样的:

   var date = new Date();
   date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000));
   $.cookie(COOKIE_NAME, 'test', { path: '/', expires: date });

插件网站上的代码被扯掉了 :) - http://stilbuero.de/jquery/cookie/

【讨论】:

  • 我开始认为问题出在插件上,但没有其他人对此有什么大不了的,所以我倾向于认为是我错了。在stilbuero.de/jquery/cookie/jquery.cookie.js - 插件文档 中,他们说:@example $.cookie('the_cookie', 'the_value'); * @desc 设置 cookie 的值。这不是我在上面试图做(和做)的吗?
  • 我快速查看了源代码,我认为默认情况下到期设置为 -1 天,我相信这会立即删除 cookie。你应该试试上面的。只需在调用 $.cookie 之前添加前 2 行。并使用上面的第三个参数调用 $.cookie。
  • 是的。奇迹般有效。希望他们在文档中说默认值为 -1,但网上并没有很多关于它的信息。谢谢你的眼睛。
  • 默认情况下,cookie插件不设置过期时间,cookie在会话结束时过期。如果传递了空值,它只会将过期设置为 -1,以便删除 cookie。
  • 但是没有 var date = new Date(); 它没有在本地创建 cookie 文件date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000));也许我误解了会话 cookie,但如果我不关闭浏览器,那么会话应该仍然打开。
【解决方案2】:

我会下载 Firefox 的 Web Developer toolbar 并用它来检查 cookie。你能看到它是在本地制作的吗?

也有可能,如果 'the_value' 是虚假的,它就不会起作用。例如,如果值为 '0',我认为这将评估为 false。

【讨论】:

  • 甚至不知道开发栏有 cookie 工具。凉爽的。呃。。没有。我看不到它是在本地制造的。这是否意味着我没有正确调用 JS 插件?
  • 也许不是。确保您的脚本按以下顺序(从上到下):jQuery、jQuery Cookie 插件、您的脚本
  • 如果这就是顺序,我的脚本就在正确的位置。 If语句中的语法是否关闭?
【解决方案3】:

试试

alert($.cookie('cookieName')); 

看看它是否有价值。

你试过了吗

if($.cookie('cookieName') == null) { 
// do your thing
// then set cookie and put a great amount of days in the expire param
}

【讨论】:

  • if($.cookie('cookieName') == null) 的代码有效,但是当我使用 $.cookie('cookieName ', '价值');指定 cookieName + Method
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-06
  • 1970-01-01
相关资源
最近更新 更多