我绝对是 yepnope 和 modernizr 的初学者。我正在尝试测试一些例子。所以我的问题是:当 jquery 从第 3 方 CDN 加载时。它工作正常。但是当 jquery 从本地加载时,domready 函数不起作用?为什么?我的编码风格有误吗?
yepnope([{
load: 'http://code.jquery.com/jquery-1.5.9.js'
, callback: function(result, key) {
if(!window.jQuery) {
yepnope('/javascripts/jquery.min.js');
alert("Loaded jQuery from a local!");
} else {
alert("Loaded jQuery from a 3rd party CDN!");
}
}, complete: function() {
$(function(){
alert("DOM ready!");
});
}
}]);
最佳答案
您的代码应该可以工作,并且已经在 yepnope 测试套件中进行了测试。
不过,您可能遇到了超时问题。在大多数浏览器中,错误报告/处理不可能以一致或可靠的方式加载异步脚本,因此 yepnope 在脚本从不回调的情况下实现脚本超时。因此,如果您首先加载的 jQuery 版本不存在,则可能需要 10 秒(默认情况下,但可以通过 yepnope.errorTimeout
更改)来运行回调和完成处理程序。尝试以这种方式加载东西是一个不幸的缺点。
关于javascript - yepnope & jquery & modernizr 初学者问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5404517/