2010-10-12 37 views
6

幾年前Dean Edwards爲我們帶來了this workaround到document.onload問題。該解決方案的IE版本涉及追加這個片段文檔:JQuery中的「<script defer>」破解發生了什麼?

<script defer src=ie_onload.js><\/script>; 

院長也是這樣的事實,這是最接近的解決方案,以完善他能找到相當堅定,並駁回所涉及的onreadystatechange的屬性作爲任何解決方案不可靠(見評論)。

Subsequent refinements他的解決方案仍然涉及<腳本的某些版本推遲>和大多數JS框架實現它,包括jQuery。

今天,我正在細讀JQuery 1.4.1的源代碼,我找不到它。

它在哪一點下降,爲什麼?

+0

有趣的問題,+1。 FWIW,我最近在本地文件系統上使用'defer'文件準備就緒,並發現它有時會啓動太早,但我不知道這是否是答案。 – 2010-10-12 11:05:20

+0

順便說一句,jQuery的當前版本是1.4.2。 – Pointy 2010-10-12 11:09:47

回答

4

它在jQuery 1.2.2發行版中刪除,you can find the release notes here

Internet Explorer文檔準備就緒大幅改進。我們使用Diego Perini的一種新技術。它使我們不必再做document.write(),這真的太棒了。

Here's the 1.2.1 Version vs the 1.2.2 version

的主要動機是爲了去除document.write,避免IE 仍然問題太早觸發ready一點,這樣now it's completely rewrittenonreadystatechange(在IE)和回落到window.onload如果一切都失敗了。

相關問題