1

我绝对是 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!");
      });
    }
  }]);
4

1 回答 1

3

您的代码应该可以工作,并且在 yepnope 测试套件中进行了测试。

不过,您可能会遇到超时问题。在大多数浏览器中,无法以一致或可靠的方式对异步脚本加载进行错误报告/处理,因此 yepnope 在脚本从不回调的情况下实现了脚本超时。因此,如果您首先加载的 jQuery 版本不存在,则yepnope.errorTimeout回调和完成处理程序可能需要 10 秒(默认情况下,但可以通过 更改)运行。尝试以这种方式加载内容是一个不幸的缺点。

于 2011-03-23T18:21:09.463 回答