網站性能分析(下)-讓網站並行加載但順序執行JS


如果網站不支持JavaScript,復雜的功能將無法正常工作。在開發當中通常有幾個腳本會寫在HTML文件的頭部。你嵌入的越多,網站的速度潛在的變得越慢。因此提高並行加載速度變得非常有必要,在前面的文章當中我已經提供了2種提高網站響應速度的方法,今天分享第三種方法,讓讓網站並行加載但順序執行JS

在這種情況下我們可以使用Head.js來解決這樣的事情,head.js是一個JavaScript調用自身的腳本。他能夠並行加載JS,但是執行的時候卻按順序執行,來提高網站速度


如何嵌入和使用Head.js

HTML文件的頭部。嵌入head.js配置變量head_conf的必需的一些特殊功能,你可以設置幾個選項:

1 <script>
2   var head_conf = { ... }
3 </script>
4  
5 <script src="/js/head.min.js"></script>

在head.js當中一次性加載多個JavaScript

Head.js的主要功能是同一時間並行加載多個腳本。相反的,你不必單獨提取每個腳本,Head.js工作流程如下:

1 head.js("file1.js", "file2.js", "file3.js");

雖然上面的腳本文件是排序寫下來的,Head.js並不是先加載在前的,然后緊接着加載第二個,他是並行加載的然后順序執行。這個很容易可以想象,這樣加載的好處是樣式表和圖片的加載速度更快,使得確保整個頁面感覺要快得多。

對瀏覽器的CSS功能

特別提出的是head.JS對CSS3支持也是沒有問題的,因為不是所有的瀏覽器中都支持原生標准的。Head.js帶有各個瀏覽器的樣式特殊的類的定義:

.webkit p {
  color: red;
}

上面的例子在Webkit的瀏覽器所有p標記為紅色。你可以明確地定義瀏覽器支持特定的CSS3屬性或您的瀏覽器不支持某些屬性:

1 .borderimage div {
2   border-image: url("border.png") 25% repeat;
3 }
4  
5 -no-borderimage div {
6   border: 1px solid green;
7 }

在這個例子中,我們定義的iv元素在支持border的瀏覽器當中定義一個類,在不支持border的瀏覽器當中定義另外一個類來區分顯示

 

如何使用Head.js讓CSS3在不同的瀏覽器上面顯示不同分辨率

Head.js的另一個特點是可以定義樣式表對應不同的分辨率,下面的例子:

.lt-1024 p {
&nbsp; font-size: 10px;
}

如果分辨率是1024以下的像素,字體大小被設置為10點。head_conf當中設置

var head_conf = { screens: [800, 1024] };

對舊版本的IE瀏覽器中的HTML5支持

舊版本的瀏覽器  - 忽略HTML5元素的支持,但是Head.js可以確保即使是舊的瀏覽器當中這些元素也能正確加載。

下載head.js

本文鏈接:網站性能分析(下)-讓網站並行加載但順序執行JS

 更多詳情閱讀:網站性能分析(下)-讓網站並行加載但順序執行JS

 

123


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM