jquery中document.ready在两类浏览器中的区别[转]

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的.

原文地址:https://www.cnblogs.com/hongchenok/p/3601312.html