转自:http://blog.guoshuang.com/david/showlog.asp?log_id=2964
英文原文在此:
http://dean.edwards.name/weblog/2005/09/busted/
大意如下:
我们经常使用 window.onload 来处理页面,当页面加载完成做一些事情。但这个 window.onload 是页面全部加载完成,甚至包括图片,而我们实际上经常需要的是文档 DOM 加载完毕!
这是原来的方法。
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
对于 Mozilla 可以这样
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
对于 IE 浏览器,可以使用IE特有的 defer 属性。
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
非IE浏览器会忽略 defer 而直接执行 script 代码,你可以有两种办法来屏蔽 非IE浏览器。
conditional comments 条件注释
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
conditional compilation 条件编辑
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
除此之外的浏览器就使用最上面第一个好了。最后一个问题就是要避免 onload 运行多次的问题,加入判断。
真是很佩服老外的这种钻研精神,这么个小问题引申出来这么多知识,值得我们好好学习。:(
英文原文在此:
http://dean.edwards.name/weblog/2005/09/busted/
大意如下:
我们经常使用 window.onload 来处理页面,当页面加载完成做一些事情。但这个 window.onload 是页面全部加载完成,甚至包括图片,而我们实际上经常需要的是文档 DOM 加载完毕!
这是原来的方法。
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
对于 Mozilla 可以这样
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
对于 IE 浏览器,可以使用IE特有的 defer 属性。
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
非IE浏览器会忽略 defer 而直接执行 script 代码,你可以有两种办法来屏蔽 非IE浏览器。
conditional comments 条件注释
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
conditional compilation 条件编辑
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
除此之外的浏览器就使用最上面第一个好了。最后一个问题就是要避免 onload 运行多次的问题,加入判断。
真是很佩服老外的这种钻研精神,这么个小问题引申出来这么多知识,值得我们好好学习。:(