yepnope& amp;的初学者问题jquery& Modernizr的

时间:2011-03-23 11:25:44

标签: javascript jquery domready modernizr

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

1 个答案:

答案 0 :(得分:3)

您的代码应该可以使用,并在yepnope测试套件中进行测试。

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