【问题标题】:Beginner question of yepnope & jquery & modernizryepnope & jquery & modernizr 的初学者问题
【发布时间】:2011-03-24 02:21:09
【问题描述】:

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

【问题讨论】:

  • 我认为他是故意添加一个不存在的 jQuery 以查看失败时的行为。

标签: javascript jquery domready modernizr


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 2020-11-23
    • 2015-03-16
    • 2012-04-15
    相关资源
    最近更新 更多