IE9 F12开发人员工具 - "加载(事件)"之间的区别是什么?和"页面已完成加载"?

时间:2014-04-01 12:49:02

标签: javascript dom

我正在尝试了解Internet Explorer 9的F12开发者工具网络选项卡的一些输出。

http://blogs.microsoft.co.il/linqed/2010/10/06/network-traffic-capturing-with-ie9-developer-tools/

enter image description here

Microsoft将“Gap”定义为“请求完成与整个页面加载完成之间的时间间隔”,但在上面的示例中,您可以看到Gap延伸超过“Load(事件)” ”

那么,在“加载(事件)”和“整个页面已完成加载”之间的浏览器中可能会发生什么。它只是在onloadevent中注册的Javascript代码吗?或者其他事情会发生吗?

2 个答案:

答案 0 :(得分:1)

加载并解析HTML页面(及其脚本)后,DOMContentLoaded事件就会触发。

外部样式表和图像之类的东西是异步请求的,因此所有这些请求都需要更长的时间才能返回。当他们回来时,会触发load事件。此事件是IE9调用的Load(event)

找到了一个很好的例子here

答案 1 :(得分:1)

似乎在onLoad事件之后触发的任何Ajax请求都会导致Gap超出Load(事件)

我出现了混乱,因为我收到了在页面加载后X秒触发的Ajax请求,因此当我查看“网络”选项卡时,是否看到额外的请求/ Gap延伸超过Load(事件)。 / p>

例如,请参阅此处的摘要视图,其中最后一个请求是red-line / Load(事件)之后的Ajax请求。

enter image description here

这在详细视图中显示为

enter image description here

我还认为微软的措辞是错误的。只有在Ajax请求之后,您才能真正说出该页面已准备就绪。对于许多页面,一旦onLoad事件发生并且Ajax将引入更新,它们就会准备就绪。