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:我知道如何手动绑定事件,我要求更多关于这是否是预期/可接受/错误/我的错误.
我打算按计划去工作.
jQuery正在使用document.readyState不支持的浏览器DOMContentLoaded.document.readyState仅complete在页面资源加载完成时等于.
https://developer.mozilla.org/en-US/docs/DOM/document.readyState
可能有一个很好的理由说明他们不是在"互动"上这样做,但我对此并不积极.
编辑:这是您在document.readyState == interactive上的事件的更新小提琴
它适用于IE7和IE8
编辑
jQuery不使用"交互式"的原因是因为在IE9中过早发生.
http://bugs.jquery.com/ticket/12282#comment:25
我想可能有更好的处理方式,导致IE7和8正常的准备时间,同时仍然在IE9中正常工作