【问题标题】:Error: $.cookie is not a function错误:$.cookie 不是函数
【发布时间】:2012-01-11 07:43:49
【问题描述】:

我已经用这段代码添加了 jQuery 插件:

<script type="text/javascript" src="js/jquery.cookie.js"></script>

我激活cookie的代码如下:

$(document).ready(function() {
    $('ul.sub_menu a').click(function() {
        $('#sliderid, .prodcls').css("display","none");
        $.cookie('links','linkdisplay',{ expires: 2 });

        // var txt = $(this).text();
        //console.log("you clicked"+txt);
     });

    var links = $.cookie('links');
    if (links == 'linkdisplay') {$('#sliderid, .prodcls').css("display","none");};
}); 

但是在萤火虫控制台中它给出了一个错误:

$.cookie 不是函数 [Break On This Error]var links = $.cookie('links');

怎么了?

【问题讨论】:

  • 你在 jquery 之前添加了 jquery-cookie 吗? (我希望不会。)
  • 可能是 Omeid 写的,或者:新的 javascript jquery.cookie.js 是否加载正确?它的路径是否设置了所有需要的斜线?
  • 我做错了我在jquery库之前添加它现在我在查询库问题解决后添加它
  • @OmeidHerat 既然您的评论解决了问题,您可能应该将其发布为答案,以便 sajid 将其标记为已解决。
  • @omeid 将其发布为答案,以便人们获得帮助我会标记它

标签: jquery cookies


【解决方案1】:

错误表示插件丢失。

这可能有很多原因,一些常见的原因是:

  • Jquery 在插件之后加载,(即插件在 Jquery 之前。)
  • 插件路径错误或网络服务器无法访问。
  • 插件与 JQuery 版本不兼容。

我希望这会有所帮助。

【讨论】:

  • 从 cmets 来看,第一个是你的问题。 :)
【解决方案2】:

我不确定这是否是确切的问题,但肯定是问题之一。

$(document).ready(function() {

   // click Method start here
   $('ul.sub_menu a').click(function() {
       $('#sliderid, .prodcls').css("display","none");
       $.cookie('links','linkdisplay',{ expires: 2 });
       // var txt = $(this).text();
       //console.log("you clicked"+txt);
   });
   // click method ends here

 // this part is not inside any function, this will be executed on document ready before any click happens
 var links = $.cookie('links');
 if (links == 'linkdisplay') {$('#sliderid, .prodcls').css("display","none");};
});

问题是,您将 cookie 保存在点击处理函数上,但在对元素进行任何点击之前检索文档准备就绪,因此当您尝试取回。请在代码中查看我的评论

【讨论】:

  • 你完全正确。但根据@sajid 想要做什么,这不一定是错误的。
【解决方案3】:

如果 jquery.cookie.js 不在 js 文件夹中,请通过从here 下载将其添加到那里。

代码看起来不错。 $.cookie('links','linkdisplay',{ expires: 2 }); 行将名称为 'links' 和 'linkdisplay' 的 cookie 保存为值。

你可以参考Get all cookies with Javascrip了解更多关于coookie插件的信息。

如果没有解决,请更新您的 HTML 代码,并告诉我您想要在 cookie 中保存的具体内容。

【讨论】:

    【解决方案4】:

    我一直在尝试用代码获取 cookie:

    jQuery.cookie('my_cookie')
    

    返回错误,所以我把它改成这个来检查它:

    $.cookie('cc_cookie_accept')
    

    现在正在工作。 我假设插件的版本与 jQuery 版本不兼容,就像 user529649 说的那样。

    【讨论】:

      猜你喜欢
      • 2017-09-12
      • 2011-05-01
      • 2019-01-08
      • 2016-03-24
      • 1970-01-01
      • 2017-10-23
      • 2013-01-04
      • 1970-01-01
      相关资源
      最近更新 更多