如果我在一個頁面上有多個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嗎?
如果不是,有沒有辦法讓它同步/連續?
如果我在一個頁面上有多個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嗎?
如果不是,有沒有辦法讓它同步/連續?
我實際測試你的例子在下面的瀏覽器,其各自串聯裝:
Please read this exhaustive answer for more information on why.
例如,如果test * .js會使用console.log寫1,2和3,它會在每個瀏覽器上寫1,2,3嗎?
是的。
瀏覽器可以並行加載腳本,但會始終按順序執行腳本。在script
標記上設置async
或defer
屬性時例外。動態創建的腳本(通過JS)本質上也是異步的。
請注意,在頁面中放置太多腳本可能會降低渲染速度。如果服務器需要很長時間才能提供其中一個文件,因爲script
下方的標記將不會被渲染,直到腳本加載並執行完畢。將生產環境中的所有JS文件縮減爲單個文件並使用更多腳本標記(例如使用CDN託管的庫)是一種很好的做法。
我相信是的,儘管我不能指出你的來源。但是如果它不會被連續加載,那麼它是沒有意義的,因爲如果test2.js有依賴於test1.js的代碼。如果不按順序加載,會出錯。 – kennypu 2013-02-25 09:10:07
你可以看看http://headjs.com/ – 2013-02-25 09:11:07
[HTML解析順序/腳本執行順序](http://stackoverflow.com/questions/7052310/html-parse-order-script-execution ) – JJJ 2013-02-25 09:11:12