jQuery$.cookie不是函数
jQuery $.cookie is not a function
我正在尝试使用jQuery:设置cookie
$.cookie("testCookie", "hello");
alert($.cookie("testCookie"));
但当我加载页面时,我会收到错误"$.cookie不是一个函数"。以下是我所知道的:
- 我已经在这里下载了jQuery cookie插件
- 我正在链接到jQuery,然后是cookie插件
- jQuery和jQuery.cookie都正确加载了200个OK
我已经看了其他几个答案(这里和这里等),大多数人建议重命名cookie.js文件。我已经将我的cookie文件重命名为"jquery.cookeee.js",但结果是一样的。
有什么想法吗?
如果有帮助的话,我将在MVC 4中创建一个web应用程序。
以下是我遇到的所有可能的问题/解决方案:
1.下载cookie插件
$.cookie
不是一个标准的jQuery函数,插件需要在这里下载。确保在必要时包含适当的<script>
标签(见下一页)。
2.在cookie插件之前包含jQuery
在包含cookie脚本时,请确保先包含jQuery,然后再包含cookie插件。
<script src="~/Scripts/jquery-2.0.3.js" type="text/javascript"></script>
<script src="~/Scripts/jquery_cookie.js" type="text/javascript"></script>
3.不要多次包含jQuery
这是我的问题。请确保您没有多次包含jQuery。如果你是,有可能:
- jQuery加载正确
- cookie插件加载正确
- 第二次包含jQuery会覆盖第一次并破坏cookie插件
对于任何使用ASP.Net MVC项目的人来说,都要小心默认的javascript捆绑包包含。我第二次包含jQuery是在@Scripts.Render("~/bundles/jquery")
行下的一个全局布局页面中。
4.将插件文件重命名为不包含".cookie"
在极少数情况下,将文件重命名为不包含".cookie"的文件可以修复此错误,这显然是由于web服务器问题。默认情况下,下载的脚本标题为"jquery.cookie.js",但请尝试将其重命名为类似于"jquery_cookie.jss"的名称,如上所示。有关此问题的更多详细信息,请参阅此处。
旧版本的jQuery Cookie已被弃用,因此如果您收到错误:
$.cookie is not a function
你应该升级到新版本。
新版本的API也有所不同,而不是使用
$.cookie("yourCookieName");
你应该使用
Cookies.get("yourCookieName");
为jquery添加此cookie插件。
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
检查脚本是否包含在页面的页眉中,而不是页脚中。特别是在WordPress中,这个不起作用:
wp_register_script('cookie', get_template_directory_uri() . '/js/jquery.cookie.js', array(), false, true);
最后一个参数表示在页脚中包含脚本,需要更改为false(默认值)。它的工作方式:
wp_register_script('cookie', get_template_directory_uri() . '/js/jquery.cookie.js');
您应该先添加jquery.cookie.js
,然后在使用该函数的地方添加js或jQuery。
当浏览器首先加载网页时,它会加载这个jquery.cookie.js
,然后是js或jQuery,现在该功能可以使用
我也遇到了这个问题。我发现有一个$(document).ready函数,它在主体内的脚本标记中包含一个$.cookie,而在jquery下面的头中按预期加载cookie js,导致在cookie插件完成加载之前处理了$(document).ready。
我在$(document).ready脚本之前移动了主体中的cookie插件加载脚本,错误消失了:D
Solve jQuery$cookie不是此问题的函数jquery cdn更新在解决这个问题
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js" integrity="sha256-T0Vest3yCU7pafRw9r+settMBX6JkKN06dqBnpQ8d30=" crossorigin="anonymous"></script>
- 为什么没有用于cookie的内置JS函数
- 有人可以帮助我调试带有addClass和removeClass函数的“每个会话一次”cookie吗?
- 加载 cookie 后调用 JavaScript 函数
- Javascript Security:将敏感数据存储在比cookie更安全的自调用函数中
- 表达式'$的结果.cookie'[未定义]不是函数
- 为什么不'这行得通吗?它涉及cookie、函数和参数
- JQuery cookie 在其他函数中设置
- 使用函数setTimerOut和jquery Cookie的模型窗口
- HTML 从外部 JavaScript 文件触发函数并返回 cookie
- 重复/循环javascript函数来检查cookie是否已更改
- HTML 正文加载函数需要删除并使用 cookie 执行相同的函数,但只能进行第一次访问
- 为什么这个函数不读取和显示cookie
- 如果 cookie 匹配,则调用 JS 函数
- $.cookie('name') 不是一个函数
- 将Cookie添加到一个简单的函数中
- 通过javascript或jQuery对函数进行Cookie处理
- PHP/Javascript混合Cookie函数
- jQuery$.cookie不是函数
- 函数获胜't存储cookie
- 在JavaScript函数中用数组数据动态填充PHP cookie