【问题标题】:Using Angular JS and Script Loader Modernizr使用 Angular JS 和脚本加载器 Modernizr
【发布时间】:2012-10-19 14:33:54
【问题描述】:

我的应用程序以前大量使用 Modernizr 来加载脚本和 shim,我在加载 Angular JS 时遇到了一段时间的问题。在 JQuery 之后立即使用 Modernizr 加载会产生错误;没有模块:(模块名称);

但是,当我在加载脚本之前将 JQuery 和 Angular 移到顶部时,使用 JQuery(内部角度控制器脚本)的行将失败,尽管它已在角度脚本之前加载。我正在使用下面的脚本在加载modernizr 后延迟内联脚本,它将在modenizr 完成加载所有脚本后执行。当我评论关闭脚本加载行时,一切都很好,但当前页面上的内联脚本将失败。

docready=[],$=function(){return{ready:function(fn){docready.push(fn)}}},

【问题讨论】:

    标签: javascript jquery angularjs modernizr yepnope


    【解决方案1】:

    我通过创建一个简单的延迟函数将其推送到数组来解决这个问题。

    var _a = {ready: function(fn){ _as.push(fn);}}
    

    将正常的 $(document).ready 替换为以下语法。

    _a.ready(function(){
    

    然后在modernizr加载完所有需要的JS之后调用这个函数。

    for(n in _as) _as[n]();
    

    就是这样。

    【讨论】:

      猜你喜欢
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-14
      相关资源
      最近更新 更多