我正在使用Modernizr.load()
加載我的JavaScript文件。現在讓我們說每個頁面在加載完成後需要調用他們自己的init方法。但是我把加載放在一個模板主模板中,而模板主模板並不知道子頁面。頁面如何知道依賴關係何時完成加載?動態加載腳本時結構javascript和延遲執行
腳本
Page1Stuff= {
init: function(){ alert('page 1 executed'); }
}
Page2Stuff= {
init: function(){ alert('page 2 executed'); }
}
網站主模板
//Modernizr loads the script.
Modernizr.load([{
load: 'jquery.js',
},
{
load: 'script.js'
}]);
第1頁
$(function() {
Page1Stuff.init();
});
第2頁
$(function() {
Page2Stuff.init();
});
我想我在這裏看到2個問題。如果modernizr仍在加載jquery,可能不會定義$。而且,Page2Stuff
或Page1Stuff
可能未被定義。
檢查http://www.modernizr.com/docs/#load'完成'回調 – spacevillain
@spacevillain,我意識到這一點,但我怎麼讓我所有的'我的頁面'知道這一點? –
檢查Modernizr對象,也許它存儲加載的東西(如果沒有,你可以爲你自己創建簡單的json)。因此,請在每個「頁面」上檢查它,如果沒有找到需要的東西,請求Modernizr加載它。 – spacevillain