JavaScript:网站页面js请慎用onload事件
2007-10-09 11:34
253 查看
又是一个关于js 执行顺序,执行入口的问题。
大家习惯于在window或者body上加上onload事件,在页面完全载入之后做一些操作。
因为,在页面没有载入完全之前去访问某些页面元素可能访问不到从而造成错误。
但这业务系统来讲是没有问题,而对于网站页面却不适合。
为什么呢?
因为常常并非网站页面的所有内容都是出于站内,你投放了广告代码、布了第三方的统计代码、调用了Alexa排名显示等等。
而这些js、iframe都是在其他域下,一旦这些js或者iframe的载入出现等待,那么你的onload事件将不会被调用,可能造成页面主逻辑受阻。
怎么解决?
如果你想访问页面元素,就把js写在元素所在位置之下即可。只是要注意不要写在被访问元素内部。
这也符合Yahoo Yslow高性能网站的一条规则Put Scripts at the Bottom。
大家习惯于在window或者body上加上onload事件,在页面完全载入之后做一些操作。
因为,在页面没有载入完全之前去访问某些页面元素可能访问不到从而造成错误。
但这业务系统来讲是没有问题,而对于网站页面却不适合。
为什么呢?
因为常常并非网站页面的所有内容都是出于站内,你投放了广告代码、布了第三方的统计代码、调用了Alexa排名显示等等。
而这些js、iframe都是在其他域下,一旦这些js或者iframe的载入出现等待,那么你的onload事件将不会被调用,可能造成页面主逻辑受阻。
怎么解决?
如果你想访问页面元素,就把js写在元素所在位置之下即可。只是要注意不要写在被访问元素内部。
这也符合Yahoo Yslow高性能网站的一条规则Put Scripts at the Bottom。
相关文章推荐
- JS 页面加载触发事件 document.ready和onload的区别
- JS 页面加载触发事件 document.ready和onload的区别
- JS 页面加载触发事件 document.ready和onload的区别
- js页面刷新事件 ,Javascript刷新页面的几种方法
- js onload处理html页面加载之后的事件
- 禁止网站页面内容被复制的javascript代码,在公共js文件中写入下图中代码(兼容forefox和IE)
- js页面刷新事件 ,Javascript刷新页面的几种方法
- jquery页面加载响应事件$(document).ready()与js页面加载响应事件window.onload()的区别
- JS 页面加载触发事件 document.ready和onload的区别
- JS 页面加载触发事件 document.ready和window.onload的区别
- jquery与javascript中的两个页面加载事件 window.onload 与 $(document).ready(function(){})区别
- JS 页面加载触发事件 document.ready和onload的区别
- JS 页面加载触发事件 document.ready和window.onload的区别
- JS中页面加载事件window.onload、onload()、document.onclick
- JS 页面加载触发事件 document.ready和window.onload的区别
- JS 页面加载触发事件 document.ready和onload的区别(转)
- javascript 获取滚动条高度+常用js页面宽度与高度(转)
- JS:1.6,事件(Event)(onclick,onchange,onload,onunload,onfocus,onblur,onselect,onmuse)
- 一个必用的javascript框架:underscore.js - wine的思考 - ITeye技术网站
- js/jq控制页面动态加载数据,滑动滚动条自动加载事件