Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $.cookie不是一个函数_Javascript_Jquery - Fatal编程技术网

Javascript $.cookie不是一个函数

Javascript $.cookie不是一个函数,javascript,jquery,Javascript,Jquery,当我尝试加载使用jquery的页面时,点击以下行: if ($.cookie('compare') != null) 我得到错误$。cookie不是一个函数。以前有人见过吗?这意味着页面中没有包含,至少没有被调用。确保它被包括在内,并且在被使用之前被包括在内。为了安全起见,在jQuery本身之后包含它 提示:其他几个插件依赖于cookie插件(但在调用它之前不必检查它是否存在),您可以使用它。您有这个插件吗?没有,但我可以向您展示如何使cookie插件变得非常简单,比如 创建一个单独的js文

当我尝试加载使用jquery的页面时,点击以下行:

if ($.cookie('compare') != null) 
我得到错误$。cookie不是一个函数。以前有人见过吗?

这意味着页面中没有包含,至少没有被调用。确保它被包括在内,并且在被使用之前被包括在内。为了安全起见,在jQuery本身之后包含它


提示:其他几个插件依赖于cookie插件(但在调用它之前不必检查它是否存在),您可以使用它。

您有这个插件吗?

没有,但我可以向您展示如何使cookie插件变得非常简单,比如

创建一个单独的js文件,根据您的需要命名,为方便起见,我将其命名为jCook

在标题中,添加jQuery后,添加新文件:

<script type="text/javascript" src="jquery.js"></script>  
<script type="text/javascript" src="jCook.js"></script>  <!-- here it is! -->
看看这有多简单

下面是一个用于保存选择下拉菜单状态的真实示例

$(function(){
        $("select[name=somthing]").change(function(e) {
            $.setCookie("selectThis", $(this).val());
        });
        //  And to use ...
        if ($.getCookie("selectThis")) $("select[name=somthing]").val( $.getCookie("selectThis") ).change();
});

尝试为您的域启用Mod_Sec,或要求您的托管公司启用它。希望这能有所帮助。

同样的问题也发生在我们的Drupal 7安装中。如果我理解正确的话,这是由cPanel中的ModSecurity配置阻塞该文件引起的。请参见

我一直在使用此代码-

if( $.cookie('siteLayout') != undefined ){
   if( $.cookie('siteLayout') == 'compact' ) 
   $(settings.bodyElem).addClass('container');
}
而且效果很好。但我需要在一个特定页面中使用另一个jQuery版本,该页面的版本是1.7.2,但在使用多个jQuery版本后,我实际使用的是1.10.2,我遇到了这个错误-

TypeError:$。cookie不是函数


然后,我使用了
jQuery.cookie
而不是
$.cookie
,它可以正常工作。希望,这也会有所帮助;)

对我来说,在下载最新版本的jquery.cookie js后,这个问题得到了修复

基本上,这个问题可能有各种原因

  • 您可能没有添加jquery插件
  • 确保在cookie插件之前包含jQuery文件
  • 如果你已经做了以上两项 然后尝试下载新版本的 这也解决了我的问题
  • 
    

    第一个插件必须是juqery.js,第二个插件是cookie.js

    AFAIK,
    cookie
    是jQuery插件。你正在加载那个插件吗?如果你的
    jquery
    库加载了两次,甚至可能会发生这种情况。这是否回答了你的问题?这就是问题所在,似乎我的主机提供商在加载jquery.cookie.js时遇到了问题,重命名为jQueryCookie.js解决了问题。这里有更多可能的解决方案:喜欢这个解决方案。易于实现并完美地处理我的对象
    $(function(){
            $("select[name=somthing]").change(function(e) {
                $.setCookie("selectThis", $(this).val());
            });
            //  And to use ...
            if ($.getCookie("selectThis")) $("select[name=somthing]").val( $.getCookie("selectThis") ).change();
    });
    
    if( $.cookie('siteLayout') != undefined ){
       if( $.cookie('siteLayout') == 'compact' ) 
       $(settings.bodyElem).addClass('container');
    }
    
    <script src="js/jquery.mobile-1.4.5.min.js"></script>
    <script src="js/jquery.cookie.js"></script>