我正在清理工作中的一些旧代码,并试图让事情变得更加模块化。我正在使用RequireJS加载javascript库,因为我需要(呵呵)它们。无论如何,我有一个fancybox的周期性问题,因为它间歇性地无法加载(没有在chrome调试器中显示404或任何东西)。这是我在app.js中的内容:
```
require.config({
paths: {
"knockout": "knockout-3.4.0",
"knockout.validation": "knockout.validation.min",
"jquery": "jquery-1.8.2",
"fancybox": "jquery.fancybox.pack",
"pager": "Page/pager",
"queryBuilder": "query-builder.min",
"jQuery.extendext": "jQuery.extendext.min",
"doT": "doT.min",
"dataTables": "jquery.dataTables.min"
},
baseUrl: "/ucampaignmanager/Scripts",
shim: {
"jquery": {
exports: "jQuery"
},
"jQuery.extendext": {
depends: "jQuery",
exports: "jQuery.extendext"
},
"knockout": {
exports: "ko"
},
"knockout.validation": {
depends: "ko"
},
"fancybox": {
depends: "jQuery",
exports: "jQuery.fn.fancybox"
},
"queryBuilder": {
depends: "jQuery.extendext",
exports: "jQuery"
},
"dataTables": {
depends: "jQuery.extendext",
exports: "jQuery.fn.dataTable"
}
}
});
```
相关网页包含以下内容:
```
require(["knockout", "jquery", "./Page/rtfAreaEditing", "./Page/pager", "queryBuilder"], function (ko, $, rtfAreaEditing) {
$(function() {
//Actual stuff being executed
});
});
```
大约七次或左右的时间,页面的硬刷新(或没有缓存重新加载)将导致错误
$.fancybox is not a function
我正在调用它:
$(someElement).fancybox();
剩下的时间,它完美无缺。我知道我必须做些蠢事,但我无法弄清楚它是什么。
答案 0 :(得分:0)
我只是评论,但我还不能。你有没有试过嵌套一个需要调用的花式框。听起来像是在处理竞争条件。