Jquery 间歇性加载导致未定义错误
Jquery loading intermittently causing not defined error
我们有一个 JavaScript 应用程序,它使用 jQuery 并具有以下加载库的块。这在大多数情况下都可以正常工作,但在随机时间 jquery-1.11.2.min 库似乎没有及时加载 jquery-ui.min 库,所以我得到一个 ReferenceError 说 jQuery 没有在 jquery-ui.min 库中定义。
据我所知,库应该按顺序加载,所以我不确定为什么会这样,所以任何想法都会很棒:
<script type="text/javascript">
var dojoConfig = {
async: true,
paths: {
"libs": location.pathname.replace(/\/[^/]+$/, '') + "/js/lib",
"actions": location.pathname.replace(/\/[^/]+$/, '') + "/js/actions"
},
packages: [
{ name: "jquery", location: "//code.jquery.com", main: "jquery-1.11.2.min" },
{ name: "jqueryui", location: "//code.jquery.com/ui/1.10.3", main: "jquery-ui.min" },
{ name: "moment", location: location.pathname.replace(/\/[^/]+$/, '') + "/js/lib/moment", main: "moment" }
]
};
</script>
你的问题是 async:true
属性
jqueryui 与 jquery 有依赖关系,因此你 必须 加载 jquery 然后 jqueryui 当它异步时它可以加载 jqueryui 然后 jquery,这将抛出错误
edit1
如果您想继续使用 async:true
属性 然后尝试使用 deps 属性
from site: deps: Dojo 加载后应立即加载的资源路径数组:
部门:["dojo/parser"]
deps (模块标识符字符串数组)/回调(函数)
这些配置变量仅在加载程序加载之前适用。提供时,它们会导致加载程序在完成加载后执行 require(deps, callback)。
我们有一个 JavaScript 应用程序,它使用 jQuery 并具有以下加载库的块。这在大多数情况下都可以正常工作,但在随机时间 jquery-1.11.2.min 库似乎没有及时加载 jquery-ui.min 库,所以我得到一个 ReferenceError 说 jQuery 没有在 jquery-ui.min 库中定义。 据我所知,库应该按顺序加载,所以我不确定为什么会这样,所以任何想法都会很棒:
<script type="text/javascript">
var dojoConfig = {
async: true,
paths: {
"libs": location.pathname.replace(/\/[^/]+$/, '') + "/js/lib",
"actions": location.pathname.replace(/\/[^/]+$/, '') + "/js/actions"
},
packages: [
{ name: "jquery", location: "//code.jquery.com", main: "jquery-1.11.2.min" },
{ name: "jqueryui", location: "//code.jquery.com/ui/1.10.3", main: "jquery-ui.min" },
{ name: "moment", location: location.pathname.replace(/\/[^/]+$/, '') + "/js/lib/moment", main: "moment" }
]
};
</script>
你的问题是 async:true
属性
jqueryui 与 jquery 有依赖关系,因此你 必须 加载 jquery 然后 jqueryui 当它异步时它可以加载 jqueryui 然后 jquery,这将抛出错误
edit1
如果您想继续使用 async:true
属性 然后尝试使用 deps 属性
from site: deps: Dojo 加载后应立即加载的资源路径数组: 部门:["dojo/parser"]
deps (模块标识符字符串数组)/回调(函数) 这些配置变量仅在加载程序加载之前适用。提供时,它们会导致加载程序在完成加载后执行 require(deps, callback)。