2012-10-19 64 views
2

我的應用程序以前大量使用Modernizr來加載腳本和墊片,我一直在加載Angular JS的問題卡住了一段時間。在JQuery之後使用Modernizr加載會產生錯誤;無模塊:(模塊名稱);使用Angular JS和腳本加載器Modernizr

但是,當我移動JQuery &角加載腳本之前,使用JQuery(內角控制器腳本)將失敗,雖然它已加載角文件之前。我使用下面的腳本在modernizr加載後推遲內聯腳本,它將在modenizr完成加載所有腳本後執行。當我關閉腳本加載線時,一切正常,但當前頁面的內聯腳本將失敗。

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

回答

1

我通過創建一個簡單的延遲函數將其推送到數組來解決此問題。

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

將普通的$(document).ready替換爲下面的語法。

_a.ready(function(){ 

然後在modernizr完成加載所有需要的JS之後調用這個函數。

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

就是這樣。

0

這個函數存在哪裏? 在你的角度控制器或其他地方?

這是否映射到jquery的document.ready()?

+0

你必須把它放在你的JavaScript鏈上。它只是簡單的一個函數對象數組。 – wajatimur