2016-03-08 93 views
0

我们有一个使用jQuery的JavaScript应用程序,并具有加载库的以下块。这在大多数情况下都能正常工作,但随机时间jquery-1.11.2.min库似乎无法及时加载jquery-ui.min库,因此我得到一个ReferenceError,指出jQuery没有在jquery- ui.min lib。 据我所知应该库加载顺序,所以我不知道为什么会这样,所以任何想法将是巨大的:Jquery间歇性加载导致未定义的错误

<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> 
+1

什么做实际负载?这可能是一个问题。它是否尊重你的订单?它是否说明了一个请求花费的时间比另一个要长? –

+1

我认为你需要从jqueryui包到jquery包的依赖。我不知道这样做的最佳方式,因为我不知道道场。 – Halcyon

+0

如果您尝试从本地文件加载而不是CDN加载,问题仍然存在吗? –

回答

1

你的问题是与async:true财产

jQueryUI的有jQuery的依赖为此,你必须负载 jQuery和再jQueryUI的时,它的异步它可以加载jQueryUI的,然后jQuery的,这将抛出一个错误

EDIT1 如果你想继续使用async:true属性然后尝试哟使用属性

从站点:DEPS:的资源路径的阵列一旦道场加载应立即加载: DEPS:[“道场/语法分析器”]

DEPS(模块标识符字符串数组)/回调(功能) 这些配置变量只适用装载机已被加载之前。提供时,它们会导致加载程序在完成加载后执行require(deps,callback)。

+0

将其设置为false通常是一个糟糕的主意,因为它通常会影响脚本(在执行时会冻结页面) –

+0

感谢此,真的很有用 – Anto

相关问题