如果我的瀏覽器對當前有網關超時aka 504的腳本src進行GET,爲什麼瀏覽器掛起並停止呈現,直到60秒後實際發送響應爲止?除了崩潰瀏覽器,這不是一個生產JavaScript應用程序可能發生的最糟糕的事情嗎?作爲應用程序開發人員,您可以做些什麼來防止此問題阻止其他渲染和腳本執行?網關超時和瀏覽器渲染
0
A
回答
1
如果腳本內嵌(例如未動態加載)並且未標記爲defer
或async
,則腳本必須按順序同步處理,並且瀏覽器如果沒有它,將無法繼續。內聯<script>
標籤(沒有任何特殊屬性)按照遇到的順序處理,瀏覽器必須按照這種方式處理它們。
如果您希望您的網頁渲染,而不必等待腳本加載,那麼你就可以動態加載它,或者你可以將其標記async
或</body>
標籤和頁面渲染不會等待前右放<script>
標籤它。如果使用defer
或async
,則必須確保沒有其他腳本依賴於此腳本的加載,否則它們可能會在加載此腳本之前運行。
見這些參考資料以獲得更多信息:
0
如果您在腳本標記內的DOM談論的JavaScript,瀏覽器總是會加載它們同步這就是爲什麼它是重要的將JS的大部分放在頁面底部。如果這成爲一個大問題,我會建議使用異步加載庫,如lab.js http://labjs.com/。
如果您正在使用更高級的JS,並且想要使用類似AMD模式的腳本加載和依賴項,您可以使用http://requirejs.org/。
相關問題
- 1. 渲染在瀏覽器
- 2. 渲染的瀏覽器
- 3. 瀏覽器渲染網頁時遇到腳本標籤
- 4. 渲染phantomjs和我的網頁瀏覽器之間的差異
- 5. IE瀏覽器和Firefox的網頁字體渲染問題
- 6. 瀏覽器的哪個渲染器?
- 7. Android瀏覽器渲染飛鏢網頁,但網頁瀏覽不要
- 8. Rem和em在渲染時通過瀏覽器轉換爲px?
- 9. 瀏覽器超時
- 10. 瀏覽器渲染XSLT vs PHP渲染XSLT
- 11. 瀏覽器無法渲染圓形
- 12. CSS3非跨瀏覽器渲染
- 13. 瀏覽器如何渲染圖像?
- 14. 通過OpenGL渲染瀏覽器
- 15. Safari瀏覽器列渲染錯誤
- 16. VB.NET:渲染內存流到瀏覽器
- 17. 渲染爲「&」在瀏覽器中
- 18. 優化瀏覽器文本渲染
- 19. 瞭解瀏覽器渲染「怪癖」
- 20. 是由瀏覽器渲染的嗎?
- 21. WP7 web瀏覽器 - 停止渲染
- 22. Chrome瀏覽器渲染速度錯誤?
- 23. 跨瀏覽器渲染解釋計劃
- 24. 瀏覽器中的字體渲染
- 25. 瀏覽器不渲染three.js所
- 26. 瀏覽器 - SVG渲染完成事件
- 27. 在Android瀏覽器上的SVG渲染
- 28. CSS Sprites - 跨瀏覽器渲染
- 29. 奇怪的Safari瀏覽器渲染
- 30. IE9瀏覽器版本渲染