日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于script的放置位置

發布時間:2024/10/12 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于script的放置位置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//一家公司面試,問到script的放置位置

html文件是自上而下的執行方式,但引入的css和javascript的順序有所不同,css引入執行加載時,程序仍然往下執行,而執行到<script>腳本是則中斷線程,待該script腳本執行結束之后程序才繼續往下執行。

    所以,大部分網上討論是將script腳本放在<body>之后,那樣dom的生成就不會因為長時間執行script腳本而延遲阻塞,加快了頁面的加載速度。

    但又不能將所有的script放在body之后,因為有一些頁面的效果的實現,是需要預先動態的加載一些js腳本。所以這些腳本應該放在<body>之前。

    其次,不能將需要訪問dom元素的js放在body之前,因為此時還沒有開始生成dom,所以在body之前的訪問dom元素的js會出錯,或者無效

?

?

首先我們需要了解的一點就是,在瀏覽器渲染頁面之前,它需要通過解析HTML標記然后構建DOM樹。在這個過程中,如果解析器遇到了一個腳本(script),它就會停下來,并且執行這個腳本,然后才會繼續解析HTML。如果遇到了一個引用外部資源的腳本(script),它就必須停下來等待這個腳本資源的下載,而這個行為會導致一個或者多個的網絡往返,并且會延遲頁面的首次渲染時間。

還有一點是需要我們注意的,那就是外部引入的腳本(script)會阻塞瀏覽器的并行下載,HTTP/1.1規范表明,瀏覽器在每個主機下并行下載的組件不超過兩個(也就是說,瀏覽器一次只能夠同時從同一個服務器加載兩個腳本);如果你網站的圖片是通過多個服務器提供的,那么按道理來說,你的網站可以一次并行下載多張圖片。但是,當我們網站在加載腳本的時候;瀏覽器不會再啟動任何其它的下載,即使這些組件來自不同的服務器。

轉載于:https://www.cnblogs.com/huqinqin/p/7682519.html

總結

以上是生活随笔為你收集整理的关于script的放置位置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。