"文档准备好"应该在IE上像这样工作吗?

Cam*_*tin 2 javascript jquery onload document-ready domcontentloaded

我正在制作一个小型的javascript框架,原因有很多,包括学习.

因此,我想实现"文档就绪"功能,所以我去检查jQuery如何伪造DOMContentLoadedIE <9.

问题是,它似乎没有按照它应该的方式工作.在IE8和一个很好的浏览器中检查这个小提琴.

逻辑是:应用css使div开始为红色,然后在"ready"中使其变为蓝色,并在加载时使其变为绿色.此外,有三个带有虚假URL的img标签,因此在就绪和加载之间存在合成延迟.

应该发生什么:
如果有的话,div不应该显示为红色超过一秒钟.理想情况下,首先看到的应该是蓝色.然后,当浏览器超时无效图像时,绿色.

在IE8上会发生什么:
div保持红色,直到所有图像"加载"(在此合成示例中,超时),然后变为绿色.

再一次,我并不是要求修复,我问是否在IE8上表现这样的框架是正确的(我不再关心IE 6-7了),或者这是否正在发生由于我以某种方式滥用jQuery.

PS:我知道如何手动绑定事件,我要求更多关于这是否是预期/可接受/错误/我的错误.

use*_*654 5

我打算按计划去工作.

jQuery正在使用document.readyState不支持的浏览器DOMContentLoaded.document.readyState仅complete在页面资源加载完成时等于.

https://developer.mozilla.org/en-US/docs/DOM/document.readyState

可能有一个很好的理由说明他们不是在"互动"上这样做,但我对此并不积极.

编辑:这是您在document.readyState == interactive上的事件的更新小提琴

http://jsfiddle.net/PFWmS/7/

它适用于IE7和IE8

编辑

jQuery不使用"交互式"的原因是因为在IE9中过早发生.

http://bugs.jquery.com/ticket/12282#comment:25

我想可能有更好的处理方式,导致IE7和8正常的准备时间,同时仍然在IE9中正常工作