head.js讓網站並行加載但順序執行JS


http://headjs.com/

並行加載JS,但是執行的時候卻按順序執行,提高網站速度

<script src="js/head.min.js"></script>

<script type="text/javascript"> head.js("js/jquery-1.6.1.min.js","js/jquery.validate.min.js","js/my_validate.js"); </script>

注意:head.js("js/jquery-1.6.1.min.js","js/jquery.validate.min.js","js/my_validate.js"); 里面包含的JS在本地文件夾里面必須有,否則在IE中部執行

如:head.js("js/jquery-1.6.1.min.js","js/jquery.validate.min.js","js/alert.js");如果本地沒有jquery.validate.min.js文件,在IE下將不執行alert.js

 

1、異步加載其他 JS 文件,比如 Jquery 。雖然之前我也是把引用的外部 JS 放在頁面底部的,但是用了 head.js 之后,我可以把所有 JS 內容匯集成一個文件,放在頁面的最后。然后就可以在這個 JS 文件里來引用其他外部 JS 。比如我的頁面里最下方引用了一個 JS 內容為:

 head(function() { ........ }); /* part 1 */ head.js("http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"); /* part 2 */ 

其中第一部分是頁面加載完成后要執行的 JS 腳本,第二部分是執行腳本前先引用的外部 JS 文件地址,很明顯如果想要升級使用的 Jquery 版本,我只要修改這個文件就行了而不用變動頁面內容。這對於采用靜態發布的 MovableType 來說很有用。

2、CSS3 屬性支持度檢測。說起來很拗口,意思就是可以分辨出瀏覽器是否支持某條 CSS3 屬性。如果支持某條屬性,那么將會在頁面的 HTML 節點上加上一個以這個屬性命名的 class ,如果不支持則這個 class 的名字就有個 no- 前綴。比如,IE6 不支持 boxshadow 屬性的,那么瀏覽這使用 IE6 訪問頁面時,頁面的 html 節點就是類似這樣的:<html class="no-boxshadow"> 

這樣就可以在 CSS 文件里設定當瀏覽器不支持某個高級屬性的時候用其他的方案來替代。

 .boxshadow .box{ box-shadow: 0px 0px 5px #bbb; } .no-boxshadow .box{ border: 2px solid #bbb; } 

目前 head.js 可以檢測的 CSS3 屬性有 borderimage borderradius boxshadow opacity reflections rgba textshadow transforms transitions 。

3、head.js 可以檢測瀏覽器的種類、版本,還可以檢測當前訪問的頁面相對於網站根目錄的路徑,更酷的,head.js 可以動態地檢測到瀏覽器當前窗口大小。並且,把前面這幾個屬性都動態地傳遞給 html 節點,添加上相應 class !這樣再配合 CSS 就可以制作出一個適應各瀏覽器、每個頁面都獨特得、隨着窗口大小的改變自動變換排版的酷設計了。


免責聲明!

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



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