JQuery中的"<script defer>"hack发生了什么?

Mic*_*oka 6 javascript jquery javascript-events

几年前Dean Edwards将这个解决方法带给了document.onload问题.IE版本的解决方案涉及将此代码段附加到文档:

<script defer src=ie_onload.js><\/script>;
Run Code Online (Sandbox Code Playgroud)

Dean也非常坚定地认为,这是他能找到的最完美的解决方案,并且驳回了任何涉及onreadystatechange属性不可靠的解决方案(见评论).

对他的解决方案的后续改进仍然涉及一些版本的<script defer>,并且大多数JS框架实现了它,包括jQuery.

今天,我正在阅读JQuery 1.4.1的源码,我找不到它.

它落在哪一点,为什么?

Nic*_*ver 4

它在 jQuery 1.2.2 版本中被删除,您可以在此处找到发行说明

Internet Explorer 文档就绪性显着改进。我们使用受迭戈·佩里尼启发的新技术。它使我们不必再做document.write()任何事情,这真是太棒了。

这是 1.2.1 版本1.2.2 版本的对比

主要动机是删除并避免 IE仍然触发有点太早document.write的问题,所以现在它被完全重写以监听(在 IE 中)并在所有其他方法失败时回退。readyonreadystatechangewindow.onload