最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
JavaScript無(wú)阻塞加載性能優(yōu)化方案

Javascript在瀏覽器中的性能,可以說(shuō)是前端開(kāi)發(fā)者所要面對(duì)的最重要的可用性問(wèn)題。

創(chuàng)新互聯(lián)建站公司2013年成立,先為疏勒等服務(wù)建站,疏勒等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為疏勒企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

在Yahoo的Yslow23條規(guī)則當(dāng)中,其中一條是將JS放在底部 。原因是,事實(shí)上,大多數(shù)瀏覽器使用單進(jìn)程處理UI和更新Javascript運(yùn)行等多個(gè)任務(wù),而同一時(shí)間只能有一個(gè)任務(wù)被執(zhí)行。Javascript運(yùn)行了多長(zhǎng)時(shí)間,那么在瀏覽器空閑下來(lái)響應(yīng)用戶交互之前的等待時(shí)間就有多長(zhǎng)。

從基本層面說(shuō),這意味著   

  •      

     
  •      
  •  
  • 當(dāng)瀏覽器遇到一個(gè)   

  •          
  •        
  •      
  •  
  • 此代碼展示了所推薦的  

    此 URL 調(diào)用 2.7.0 版本的 yahoo-min.js 和 event-min.js 文件。這些文件在服務(wù)器上是兩個(gè)分離的文件,但是 當(dāng)服務(wù)器收到此 URL 請(qǐng)求時(shí),兩個(gè)文件將被合并在一起返回給客戶端。通過(guò)這種方法,就不再需要兩個(gè)  

    一個(gè)帶有defer屬性的   

  •        
  •      
  •      
  •  
  • 如果瀏覽器不支持defer,那么彈出的對(duì)話框的順序是“defer”,“script”,“l(fā)oad”。

    如果瀏覽器支持defer,那么彈出的對(duì)話框的順序是“script”,“l(fā)oad”,“defer”。

    #p#

    Dynamic Script Elements 動(dòng)態(tài)腳本元素

    DOM允許我們使用Javascript動(dòng)態(tài)創(chuàng)建HTML的幾乎所有文檔內(nèi)容,一個(gè)新的   

  • loadScript("the-rest.js", function(){   
  •   Application.init();  
  • });   
  •  
  •  
  • 將此代碼放置在body的關(guān)閉標(biāo)簽之前。這樣做的好處是,首先,這樣確保Javascript運(yùn)行不會(huì)影響其他頁(yè)面的其他部分顯示。其次,當(dāng)?shù)诙糠諮avascript文件完成下載,所有應(yīng)用程序所必須的DOM已經(jīng)創(chuàng)建完畢,并做好被訪問(wèn)的準(zhǔn)備,避免使用額外的事件處理(如window.onload)來(lái)得知頁(yè)面是否已經(jīng)準(zhǔn)備好了。

    另一個(gè)選擇是直接將loadScript()函數(shù)嵌入在頁(yè)面中,這可以減少一個(gè)http請(qǐng)求的開(kāi)銷。例如:

     
     
    1.    
    2.   function loadScript(url, callback){  
    3.     var script = document.createElement ("script");  
    4.    script.type = "text/javascript";  
    5.      
    6.     if (script.readyState){ //IE script.onreadystatechange = function(){  
    7.       if (script.readyState == "loaded" || script.readyState == "complete"){  
    8.         script.onreadystatechange = null;   
    9.         callback();  
    10.       }   
    11.     };  
    12.   } else { //Others   
    13.    script.onload = function(){  
    14.      callback();   
    15.    };  
    16.   }  
    17.   script.src = url;   
    18.   document.getElementsByTagName("head")[0].appendChild(script);  
    19. }  
    20.  
    21. loadScript("the-rest.js", function(){  
    22.   Application.init();   
    23. });  
    24.  

    一旦頁(yè)面初始化代碼下載完成,還可以使用loadScript()函數(shù)加載頁(yè)面所需的額外功能函數(shù)。

    介紹一個(gè)通用的工具,Yahoo! Search的Ryan Grove創(chuàng)建了LazyLoad庫(kù)(參見(jiàn):http://github.com/rgrove/lazyload/ )。LazyLoad是一個(gè)強(qiáng)大的loadScript()函數(shù)。LazyLoad精縮之后只有大約1.5KB。用法舉例如下:

    1  
    2 

    Summary 總結(jié)

    • 將所有