JavaScript:網站頁面js請慎用onload事件

width="760" scrolling="no" height="90" frameborder="0" src="http://p.alimama.com/code.php?t=2&i=mm_10003521_106784_109301&w=760&h=90&sz=11&bgc=FFFACD&bdc=FFFFFF&tc=000080&lc=000000&dc=000000" name="alimamaifrm" id="alimamaifrm" border="0" marginwidth="0" marginheight="0">
又是一個關於js 執行順序,執行入口的問題。
大家習慣於在window或者body上加上onload事件,在頁面完全載入之後做一些操作。
因爲,在頁面沒有載入完全之前去訪問某些頁面元素可能訪問不到從而造成錯誤。
但這業務系統來講是沒有問題,而對於網站頁面卻不適合。
爲什麼呢?
因爲常常並非網站頁面的所有內容都是出於站內,你投放了廣告代碼、布了第三方的統計代碼、調用了Alexa排名顯示等等。
而這些js、iframe都是在其他域下,一旦這些js或者iframe的載入出現等待,那麼你的onload事件將不會被調用,可能造成頁面主邏輯受阻。

怎麼解決?
如果你想訪問頁面元素,就把js寫在元素所在位置之下即可。只是要注意不要寫在被訪問元素內部。
這也符合Yahoo Yslow高性能網站的一條規則Put Scripts at the Bottom
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章