DOMready的构建方法不再重复,现代浏览器通过DOMContentLoaded来实现,IE通过readystatechange+doScroll来模拟该方法.
类似jquery中的document.ready.该方法在99%的情况下在两类浏览器中表现方式是相同的.
这里来看下1%的情况.
在页面中嵌套了iframe的情况下.
现代浏览器的执行顺序是:
解析index-->index的DOMready-->解析iframe-->iframe的DOMready-->iframe的window.onload-->index的window.onload;
IE的执行顺序是:
解析index-->解析iframe-->iframe的DOMready-->iframe的window.onload-->index的DOMready-->index的window.onload;
所以在使用jquery中的document.ready时需要特别注意标准浏览器在$(document.ready)情况下是无法获取到iframe中的元素的.
因为这个试验代码比较繁琐,大家可以自己尝试,只需在index和iframe中触发DOMready和window.onload时在控制台输出即可.
PS:jquery中document.ready只是构建了DOM树以后触发,如需获取页面中的图片大小,在一些情况下是会取到0的.