2013-02-25 85 views
2

如果我在一個頁面上有多個JavaScript文件,它是否會始終在瀏覽器中連續加載?JavaScript是否在每個瀏覽器上串行加載?

<script src='test1.js'></script> 
<script src='test2.js'></script> 
<script src='test3.js'></script> 

例如,如果test * .js會使用console.log寫1,2和3,它會在每個瀏覽器上寫1,2,3嗎?

如果不是,有沒有辦法讓它同步/連續?

+1

我相信是的,儘管我不能指出你的來源。但是如果它不會被連續加載,那麼它是沒有意義的,因爲如果test2.js有依賴於test1.js的代碼。如果不按順序加載,會出錯。 – kennypu 2013-02-25 09:10:07

+1

你可以看看http://headjs.com/ – 2013-02-25 09:11:07

+1

[HTML解析順序/腳本執行順序](http://stackoverflow.com/questions/7052310/html-parse-order-script-execution ) – JJJ 2013-02-25 09:11:12

回答

1

例如,如果test * .js會使用console.log寫1,2和3,它會在每個瀏覽器上寫1,2,3嗎?

是的。

瀏覽器可以並行加載腳本,但會始終按順序執行腳本。在script標記上設置asyncdefer屬性時例外。動態創建的腳本(通過JS)本質上也是異步的。

請注意,在頁面中放置太多腳本可能會降低渲染速度。如果服務器需要很長時間才能提供其中一個文件,因爲script下方的標記將不會被渲染,直到腳本加載並執行完畢。將生產環境中的所有JS文件縮減爲單個文件並使用更多腳本標記(例如使用CDN託管的庫)是一種很好的做法。

相關問題