我是yepnope和modernizr的绝对初学者。我正试图测试一些例子。所以我的问题是:当jquery从第三方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!");
});
}
}]);
答案 0 :(得分:3)
您的代码应该可以使用,并在yepnope测试套件中进行测试。
但是,您可能遇到了超时问题。在大多数浏览器中,异步脚本加载时无法以一致或可靠的方式进行错误报告/处理,因此,在脚本从不回调的情况下,yepnope会实现脚本超时。因此,如果您首先加载的jQuery版本不存在,则可能需要10秒(默认情况下,但可以通过yepnope.errorTimeout
进行更改)以便回调并运行完整的处理程序。尝试以这种方式加载东西是一个不幸的缺点。