2013年4月12日 星期五

好幾個 onload events


有時候頁面並不需要載入 jQuery ,但卻有要載入 facebook sdk,google plus 或 addthis 的需求。所以就需要用上 window.onload ,但可怕的是有時候 onload 並不是只有我一個人在用,所以需要用一些方法讓onload event 可以運行。很慢的東西建議都要在 onload event 之後才載入,為的只是 Google 會依據網頁載入的快慢來考量搜尋結果的權重。


依據查到的一些資料,有三個方法:

第一個:
<body onload="func1(); func2();">



第二個:

function start() {
  func1();
  func2();
}
window.onload = start;

第三個:
addLoadEvent 我看到程式碼這麼長,不考慮了。

第一個方法可能寫程式不太方便;我從第二個方法改量一下,學 Google Analytics 的作法。

var _onloads = _onloads || [];
_onloads.push(function(){ ... });

window.onload = function(){
    for(var i=0, n=_onloads.length; i < n; i++)
        _onloads[i]();
};