window.onload 关于页面加载完毕的问题

转自: 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 运行多次的问题,加入判断。



真是很佩服老外的这种钻研精神,这么个小问题引申出来这么多知识,值得我们好好学习。:(

你可能感兴趣的:(window)