2014-09-30 14 views
0

由於我在我的<script src="/all.js" asynch defer></script>標記上使用了延遲和異步屬性,因此我的腳本在HTML頁面中無法工作,因爲jQuery(我加載了jQuery在延遲中)。 所以我必須使用natif js的window.onload方法。 然後我可以使用jQuery。 問題是,window.load使我的HTML載入時間太長裏面寫我的劇本,所以可以想象當我在jQuery的追加要素,它需要幾秒鐘就可以完成這項工作...推遲腳本標記的屬性使我的腳本太長以至於無法加載

任何解決方案?也許我不明白推遲廣告異步運行..

先謝謝您!

+1

通常情況下,如果您的腳本或插件基於jQuery,那麼您通常會加載jQuery並且_async/defer_腳本。您應該嘗試先加載先決條件,然後儘可能推遲加載依賴項。請注意,可能需要立即執行一些腳本,因此_async/defer_在所有情況下都不可行。 – War10ck 2014-09-30 13:42:34

回答

1

異步和推遲腳本立即開始下載而不暫停解析器。異步和延遲之間的區別以腳本執行時爲中心。

異步腳本在完成下載之後的第一個機會和窗口的加載事件之前執行。

推遲腳本保證按它們在頁面中出現的順序執行。該執行在解析完成後開始,但在文檔的DOMContentLoaded事件之前開始。

+0

感謝您的解釋。 – KeizerBridge 2014-09-30 14:20:43

相關問題