我正在評估腳本加載優化的現有資源,但我參考了一些文章,如this,指的是舊版瀏覽器會阻止其他下載,直到完成此順序腳本加載階段。我檢查Modernizr(yepnope.js),headjs和ControlJs作爲候選人。但是,在現代瀏覽器中是否需要使用這個工具來並行腳本加載?現代瀏覽器是並行還是順序加載腳本?
12
A
回答
17
我相信今天在默認情況下,大多數瀏覽器將實際負載並聯的腳本;但瀏覽器不會默認並行執行腳本。例如,在下面的代碼中,腳本將並行加載。在圖像中,我們可以看到Fast1.js和Fast2.js加載非常快,但是基於瀏覽器控制檯中的時間,Fast2.js在執行Fast1.js 3秒後執行。
此外,還有一點要記住的是,文件的順序可以有所作爲。 Backbone.js文件依賴於underscore.js文件。如果我們更改了這些文件的順序(其中bacbone.js位於underscore.js之前),則會引發錯誤。
<html >
<head>
<title></title>
<script src="scripts/fast1.js" type="text/javascript"></script>
<script src="scripts/libs/jquery-1.8.3.js" type="text/javascript"></script>
<script src="scripts/libs/underscore.js" type="text/javascript"></script>
<script src="scripts/libs/backbone.js" type="text/javascript"></script>
<script src="scripts/fast2.js" type="text/javascript"></script>
</head>
<body>
Hello
<script type="text/javascript">
console.log("html: " + Date());
</script>
<img src="imgs/bImg.png" />
</body>
</html>
下面的代碼的JavaScript文件Fast1.js和Fast2.js
console.log("Fast 1: " + Date())
對於腳本加載我用Require.js。它還提供了將代碼組織到單個文件中的模塊中的好處。
這裏有一個博客帖子我的瀏覽器的腳本加載創建:Browser Script Loading
這裏是腳本加載了幾篇文章:
+0
是否有HTML標準禁止瀏覽器並行執行下載的代碼? – Pacerier
1
大多數瀏覽器依次加載它們。但是,您可以將async
屬性放在script
標記上,以使其加載方式不同。
MDN解釋了什麼script
標籤做得很好。
https://developer.mozilla.org/en-US/docs/HTML/Element/Script
相關問題
- 1. 加載並執行腳本的順序
- 2. 是按順序加載還是並行加載的外部JavaScript文件?
- 3. 是否可以將.coffee腳本文件加載到瀏覽器並執行?
- 4. 瀏覽器如何知道腳本是否完成加載?
- 5. 推遲在瀏覽器上的腳本和執行順序
- 6. 腳本和圖像是同步加載還是同步加載?
- 7. 是否有node.js的腳本瀏覽器?
- 8. 瀏覽器插件顯示網頁是從瀏覽器緩存還是網頁服務器加載
- 9. 在現代瀏覽器中生成並加載JSON轉儲?
- 10. 瀏覽器如何確定是下載還是顯示
- 11. 現代瀏覽器仍然限制並行下載嗎?
- 12. 爲什麼腳本下載防止並行在瀏覽器中
- 13. 循環是在gpu上按順序還是並行執行?
- 14. 是按順序還是並行執行wordpress cron作業?
- 15. 腳本不是並行運行,其運行順序
- 16. foreach語句是按順序迭代還是隨機順序?
- 17. JavaScript在瀏覽器中加載腳本(排序)
- 18. 在服務器內運行腳本不是瀏覽器
- 19. 瀏覽器支持WebDriver還是WebDriver支持瀏覽器
- 20. 瀏覽器下載JSON結果而不是傳回腳本
- 21. Javascript還是瀏覽器的長數字?
- 22. 瀏覽器迴流還是不迴流?
- 23. Web服務是按順序還是並行處理?
- 24. 在「現代」瀏覽器上異步加載Google Analytics還有好處嗎?
- 25. 如何加快Ruby腳本?還是shell腳本替代?
- 26. 腳本應該先加載還是加載圖像?
- 27. 如何確定iOS6 safari瀏覽器是全屏還是瀏覽器模式?
- 28. 啓動vim時腳本的加載順序是什麼?
- 29. 是代碼行還是文本行嗎?
- 30. 檢測網站是運行在Android瀏覽器還是應用程序的webView
順序,如果不是做任何額外的加載JavaScript文件... –
掛鉤https://stackoverflow.com/q/1795438/6 32951 – Pacerier