2009年6月25日星期四

於Sharepoint中使用window.onload

window.onload是很多developer常用的技巧,在網頁載入完畢後去執行javascript。
你可能試過用相同的方法,於 tag中寫了window.onload 的function,好像這樣
window.onload = function(){
alert('Window is onload!!');
}

但在網頁載入完成後,卻沒有觸發到event,為什麼會這樣的呢?
原因是在 tag內有這個
onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();"

那麼當你需要加window.onload function時要怎辦?
其實_spBodyOnLoadWrapper這個function會執行Arry _spBodyOnLoadFunctionNames中的function

例子:
fucntion runMeDuringOnload(){
alert('I am onload');
}
_spBodyOnLoadFunctionNames.push('runMeDuringOnload');

這樣就能執行