2

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

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

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

1 回答 1

1

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

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

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

_a.ready(function(){

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

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

就这样。

于 2012-10-20T07:40:57.293 回答