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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章