【问题标题】:Calling a function based on jQuery Cookie调用基于 jQuery Cookie 的函数
【发布时间】:2011-11-15 03:19:11
【问题描述】:

我有点困惑,可能会在我面前遗漏一些东西。

我正在使用jQuery cookie 在我的页面中创建一个 cookie。代码是:

var $j = jQuery.noConflict();
$j(document).ready(function(){
$j.cookie("homecookie", 1, {expires: 30, path: '/'});
});

我知道读取 cookie 会是 $j.cookie('homecookie');,但在那之后我会感到困惑。我需要调用这个函数$j.colorbox({ inline:true, href:"#gallery-nav-instruct"});如何?

换句话说,如果该人没有访问过该页面,则调用颜色框。如果用户访问过该页面,则不会调用该页面。有人可以帮我正确设置它,因为我无法得到它。请举例,因为 javascript 不是我的菜。

【问题讨论】:

  • 这是您使用 cookie 插件的唯一目的吗?颜色框常见问题解答中有一个条目涵盖此内容:jacklmoore.com/colorbox/faq/#faq-cookie
  • 我在安装彩盒时读到了。这在 IE 中无法正常工作,并且还有其他一些问题。因为它,我切换到了 jQuery Cookie,并且我在我网站的其他地方使用了 jQuery Cookie。

标签: javascript jquery cookies colorbox jquery-cookie


【解决方案1】:

您可以简单地检查cookie是否存在,如果不存在您可以调用函数并设置cookie:

if(!$j.cookie('homecookie')){
    $j.colorbox({ inline:true, href:"#gallery-nav-instruct"});
    $j.cookie("homecookie", 1, {expires: 30, path: '/'});
}

【讨论】:

  • 谢谢,除了 Internet Explorer 之外,它在所有地方都很好用!去搞清楚。 - 我在这里问了另一个关于它在 IE 中不起作用的问题:stackoverflow.com/questions/8109973/…
【解决方案2】:

好吧,只需检查 cookie 值:

if (!$j.cookie('homecookie')) $j.colorbox({ /* whatever */ });

或者如果确切的 cookie 值很重要,请比较:

if ($j.cookie('homecookie') !== 'something')
  $j.colorbox({ /* whatever */ });

在这两个示例中,我假设您想在 cookie 不是 某些用户从未访问过的情况下调用颜色框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多