gpt4 book ai didi

javascript - 未定义不是函数: how to get LABjs to work with jQuery scripts

转载 作者:行者123 更新时间:2023-12-03 12:31:57 26 4
gpt4 key购买 nike

我正在尝试使用 LABjs 缩短网页的加载时间。然而,我得到了与我在自己的 jQuery 脚本中使用的 jQuery.cookie('mycookie') 相关的“未定义不是函数”。

我很感激有关如何实现 LABjs 来处理这个问题的一些建议,因为我不太理解文档。

这是我到目前为止的代码:

HTML

我的 HTML 页面的页脚中有 jQuery 和 LAB.min.js

<script type="text/javascript" src="myfolder/jquery1.9.1.js"></script>
<script type="text/javascript" src="myfolder/LAB.min.js"></script>

LAB.min.js 文件

这里我按顺序加载脚本。 ratings.js 依赖于 jquery-cookie.js,因此我首先添加了一个 wait() 以确保首先加载 jquery-cookie.js。

//ALL THE LABjs code is here, but not included on this post!

$LAB.setGlobalDefaults({Debug:true});
.script("myfolder/bootstrap.min.js")
.script("myfolder/jquery-cookie.js")
.wait()
.script("myfolder/ratings.js");

评级.js

ratings.js 是一段包含在 jQuery(document).ready 函数中的长代码。

jQuery(document).ready(function() {
//LOTS OF CODE HERE
if(jQuery.cookie('mycookie')==null){
//LOTS OF CODE HERE
}
//LOTS OF CODE HERE
});

我在 ratings.js 中遇到与包含 jQuery.cookie('mycookie') 的代码行相关的错误。它说“未捕获类型错误:未定义不是函数”

据我了解,当我尝试将 jQuery.cookie() 传递给 .wait() 时,它尚未定义。让它工作的最佳方法是什么,请记住,我想将 ratings.js 保留在一个单独的 js 文件中,因为它包含大量代码,并且是许多类似的 js 文件之一,当我用 LABjs 加载它们。

非常感谢!

凯蒂

最佳答案

您应该能够删除 HTML 中的 jQuery 链接,然后让 LABJS 加载所有脚本。这将在 Bootstrap 或您的插件之前加载 jQuery:

$LAB
.setGlobalDefaults({Debug:true}) // removed semi-colon
.script("myfolder/jquery1.9.1.js")
.wait()
.script("myfolder/bootstrap.min.js")
.script("myfolder/jquery-cookie.js")
.wait()
.script("myfolder/ratings.js");

(请注意,您的代码中的分号也可能会破坏某些内容):

关于javascript - 未定义不是函数: how to get LABjs to work with jQuery scripts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23885097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com