精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

移動網(wǎng)站性能優(yōu)化備忘錄

移動開發(fā)
本文由Johan Johansson的《How To Make Your Websites Faster On Mobile Devices》所譯,內(nèi)容全面,講解清晰易懂,每個移動網(wǎng)站的開發(fā)者都應(yīng)該對照里面的條目來優(yōu)化自己的網(wǎng)站。

最近一項 研究表明,80%的網(wǎng)民對移動端的瀏覽體驗感到失望,同時,當(dāng)體驗提升時,他們會在智能手機上花費更多的時間。

這不奇怪,因為64%的智能手機用戶希望網(wǎng)站可以在4秒內(nèi)加載完畢,但一半的網(wǎng)站花費了二倍以上的時間,達(dá)到了9秒。這篇文章會闡述一些可以使你的網(wǎng)站在移動端跑得更快的技術(shù)。

[[84376]]

移動端用戶的下載速度

讓我們來研究下究竟是什么影響了智能手機上的網(wǎng)頁加載速度。

最明顯的原因是智能機的網(wǎng)速。最佳情況下,移動端用戶使用3g與4g上網(wǎng)。在美國,57%的用戶使用3g上網(wǎng),27%的用戶使用4g。在加拿 大,4g用戶更少。而在英國,4g還是新鮮事物。Pcworld的研究表明,在美國,3g平均下載速度為2mbps,4g則為6.2mbps。ofcom 的研究顯示,在英國3g的下載速度為2.1mbps。北美和歐洲以外的連接速度一般較慢。1mpbs可換算為122kb每秒,或者0.12mb每秒,因此 以上的數(shù)據(jù)可以轉(zhuǎn)換如下:

  • 244 KB/s 3G用戶平均網(wǎng)速值 (0.24 MB/s)
  • 756 KB/s 4G用戶平均網(wǎng)速值(0.76 MB/s)

如果把上述值乘以移動用戶等待時間4秒,這意味著網(wǎng)站對于3g用戶來說最大為1mb,而4g用戶為3mb。

然而下載速度并不是瓶頸,網(wǎng)絡(luò)延遲及智能機的內(nèi)存與cpu才是瓶頸。即使手機可以在4秒內(nèi)下載完1mb,頁面也要花費更長的時間去加載,因為手機需要接收并解析代碼與圖片。

在桌面端,下載文件只占顯示網(wǎng)站時間的20%,其余時間花費在解析http請求,獲取樣式表,腳本文件及圖片上。由于移動端的cpu,內(nèi)存與緩存跟桌面端完全無法相提并論,這些在手機上會花費更長的時間。

怎樣減少加載時間

構(gòu)建一個快速的網(wǎng)站,就是一個做出艱難決定與砍掉非核心體驗的過程。如果某一項需求價值不大,去掉之。這個原則適用于所有開發(fā)階段,尤其是規(guī)劃和編碼時。

  • 減少依賴文件 : 更少的文件意味著更少的http請求與更快的加載時間
  • 降低圖片大小: 適應(yīng)與調(diào)整高分辨率圖片,在額外的下載時間中占居榜首,占用了寶貴的內(nèi)存與處理資源。
  • 減輕客戶端負(fù)擔(dān): 最佳實踐是重新思考你的javascript,并使之降低到最小尺寸

怎樣減少依賴文件

如果你想為移動端用戶隱藏圖片,display:nonevisibility:hidden是不能阻止文件下載的。測試下面的代碼:

  1. <div style="display:none;"> 
  2.     <img src="logo-none.png" /> 
  3. </div> 
  4.  
  5. <div style="visibility:hidden;"> 
  6.     <img src="logo-hidden.png" /> 
  7. </div> 

你可以觀察下面的瀑布圖,圖片容器設(shè)置display: nonevisibility: hidden后仍然會被下載。

讓你的網(wǎng)站在移動端健步如飛

替代方案是利用css加載背景圖片,之后利用media query媒體查詢來通過條件隱藏圖片。這個技術(shù)最初被Jason grigsby測試過,之后被tim kandlec進(jìn)一步拓展亞馬遜獨立的移動端頁面使用了此種技術(shù),根據(jù)設(shè)備來條件加載特定的圖片。

  1. <meta name="viewport" content="width=device-width"> 
  2.  
  3. <style> 
  4.     @media (max-width:600px) { 
  5.         .image { 
  6.             display:none; 
  7.         } 
  8.     } 
  9.     @media (min-width:601px) { 
  10.         .image { 
  11.             background-image: url(image1.jpg); 
  12.         } 
  13.     } 
  14. </style> 
  15.  
  16. <div class="image"></div> 

你可以看到圖片不加載的瀑布圖:

讓你的網(wǎng)站在移動端健步如飛

保持最小數(shù)量的外聯(lián)樣式表

如果你已經(jīng)根據(jù)斷點來加載分開的樣式表,你需要仔細(xì)思考這樣的做法了。我們測試了以下的代碼:

  1. <link href="extra-small.css" rel="stylesheet" media="screen and (max-width: 390px)" /> 
  2. <link href="small.css" rel="stylesheet" media="screen and (min-width: 391px) and (max-width: 500px)" /> 
  3. <link href="medium.css" rel="stylesheet" media="screen and (min-width: 501px) and (max-width: 767px)" /> 
  4. <link href="large.css" rel="stylesheet" media="screen and (min-width: 768px)" />   

你可以看到這四個樣式表在豎屏下(portrait mode)都被加載了.

讓你的網(wǎng)站在移動端健步如飛

因此無論如何這些樣式表都會被加載,你需要把這些文件合并在一個文件里,減少http請求。另一種方法,你可以通過后端處理,通過判斷設(shè)備來自動插入樣式表。 (這種方式在wordpress.com的響應(yīng)式網(wǎng)站中使用過)。

另一種方案可以使用內(nèi)部樣式。亞馬遜獨立的移動產(chǎn)品頁面有一個6 KB大小的外部樣式表,連同一些內(nèi)部樣式。這只需要通過一個額外的HTTP請求來下載所有的頁面樣式。亞馬遜的桌面版本并不是很高效,帶有9個外部樣式表,總共40 KB。

利用CSS3代替圖片

圓角,陰影,漸變填充等,這些樣式不需要使用圖片,可以減少http請求,加快加載時間。

讓你的網(wǎng)站在移動端健步如飛

Css3可以減少http請求,但增加了處理負(fù)荷。我們創(chuàng)建了一系列的html文件,每個文件包含一個基本的css3特性。參考下面的圖表,你可以發(fā)現(xiàn)css3帶來的處理時間很小,但不能不考慮。特別注意box-shadow對處理時間的影響最大。

讓你的網(wǎng)站在移動端健步如飛

DATAURI來代替圖片與WEB字體文件

Data uri方案可以不使用任何額外資源就可以向html及css中插入內(nèi)容。這個技術(shù)可以在web頁面中插入任何內(nèi)容,通常被用于插入圖片及web字體文件。這個技術(shù)最大的好處是可以減少http請求。

Data uri使用很簡單,你可以按照下面的格式,使用base64編碼過的數(shù)據(jù)直接插入html與css中代替圖片文件。

data:[MIME-type][;charset=encoding][;base64],[data]

舉個例子,下面的小圖標(biāo)就是用data uri創(chuàng)建的:

[[84377]]

代碼在這:

  1. <img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAACI0lEQVQoz2P48/bFX1Tw58vn3/dv/rp56dfD238+vocIfl029UOC3dsgS4Y/nz4gq/794sm3VbO+zmr/MqX+S1/l597yb2vn/rpx6VN14od4+3cBRgx/vn9F1vB9/+bPPeVfJlZ/6S793JwDVPcxL/BjQeiHFNf3cbbvgw0Z4JZCwM/Lpz81Zn2qS/1Ul/apOv5jUfiHbP8PSc7vY23fh5m+C9JjALoVzQ8/zx7+0lH4IcvnQ4bXhwzPD8muINXhZu+C9N/56zB8mdr49/cfdH9/fPdj36bPLbkgpYH670KNQaoDdV47aTK8j7H+tmXpX6zg95+f545+7ix656PxzlP5jaf2c2M1hvcRZu8jzb4umfrn6xfs2v78+XFkx9sI2+fass8N1Rje+eu/dtR+YaD0Jj70296df3/+xKrr593bL91tnmnJMbwwVXtuoAbU+kxD5pmu4pvYkK9rVvz58B5Tz7dd257pKDAAlT43giEDFZA2NclXAe5fN60DOgZFx48fb6ICGRCqIchY/bmhKkibivinOdPRLPnQ1cwAUqGrCFQBVIes7ZmmzEtni9+vXiFr+DR9IsMzHfnXIV5vs5OeqUs/05B+rqcIdBhQ81M1yRfW+r+fPUHRMLWfAejir+tWATlf1ix/HR34wlL3ub7Scx2F56Yan6ZPQnPS+6oihlc+Tr/fv4OG+Levv+7d+X700PeDe3/dv4um+tfjhy9drQDa2DKqOJhVKgAAAABJRU5ErkJggg==" /> 

Wordpress.com的響應(yīng)式網(wǎng)站使用這個技術(shù)插入了圖片及字體。波士頓環(huán)球報的響應(yīng)式網(wǎng)站也使用了這個技術(shù),他們的網(wǎng)站在智能手機上,四秒內(nèi)就加載完畢了。

讓你的網(wǎng)站在移動端健步如飛

使用這項技術(shù),從此不用為外部圖片及字體文件勞心費神。也需要測試與比較是否值得應(yīng)用這項技術(shù)來代替?zhèn)鹘y(tǒng)方式。

可縮放矢量圖形(SVG)而不是圖片

就像data URIs,可縮放矢量圖形(SVG)可以被嵌入到一個頁面來減少HTTP請求數(shù)。例如,下面的圖片是一個內(nèi)聯(lián)SVG:

[[84378]]

這是代碼:

  1. <svg version="1.1" id="drop" x="0px" y="0px" 
  2.    width="17.812px" height="28.664px" 
  3.    viewBox="296.641 381.688 17.812 28.664" 
  4.    enable-background="new 296.641 381.688 17.812 28.664"  
  5.    xml:space="preserve"> 
  6. <path fill="#EE1C4E" d="M314.428,401.082c-0.443-5.489-5.146-9.522-7 
  7. .52-14.186c-0.816-1.597-1.352-5.208-1.352-5.208 s-0.555,3.792-1.388 
  8. ,5.425c-2.233,4.371-7.127,8.999-7.507,14.047c-0.36,4.794,4.101,9.191 
  9. ,8.896,9.191 C310.49,410.354,314.816,405.941,314.428,401.082z"/> 
  10. </svg> 

SVG文件可以通過一個矢量圖形編輯器,如Adobe Illustrator創(chuàng)建。一旦創(chuàng)建,在文本編輯器中打開文件并把其代碼拷貝出來(減去任何不必要的數(shù)據(jù))。

上面的代碼在HTML文件中會生效,,但不會在樣式表中生效。若在一個樣式表中嵌入SVG文件,需要先將它轉(zhuǎn)換為一個數(shù)據(jù)URI。如果這樣做,我們需要從編輯器中(一定要包括元數(shù)據(jù))拷貝出,用base64編碼,然后使用以下格式嵌入樣式表:

data:image/svg+xml[;base64],[data]

這是代碼:

background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx
1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOi
A2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL
0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8x
LjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzE
iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Im
h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3a
WR0aD0iMTcuODEycHgiIGhlaWdodD0iMjguNjY0cHgiIHZpZXdCb3g9IjI5Ni42NDEg
MzgxLjY4OCAxNy44MTIgMjguNjY0Ig0KCSBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDI
5Ni42NDEgMzgxLjY4OCAxNy44MTIgMjguNjY0IiB4bWw6c3BhY2U9InByZXNlcnZlIj
4NCjxwYXRoIGZpbGw9IiNFRTFDNEUiIGQ9Ik0zMTQuNDI4LDQwMS4wODJjLTAuNDQzL
TUuNDg5LTUuMTQ2LTkuNTIyLTcuNTItMTQuMTg2Yy0wLjgxNi0xLjU5Ny0xLjM1Mi01
LjIwOC0xLjM1Mi01LjIwOA0KCXMtMC41NTUsMy43OTItMS4zODgsNS40MjVjLTIuMjM
zLDQuMzcxLTcuMTI3LDguOTk5LTcuNTA3LDE0LjA0N2MtMC4zNiw0Ljc5NCw0LjEwMS
w5LjE5MSw4Ljg5Niw5LjE5MQ0KCUMzMTAuNDksNDEwLjM1NCwzMTQuODE2LDQwNS45N
DEsMzE0LjQyOCw0MDEuMDgyeiIvPg0KPC9zdmc+DQo=);

Sprites圖

Sprites(雪碧圖)技術(shù)可以把經(jīng)常使用的圖片合成為一張圖片,從而減少http請求。比如當(dāng)你將四張圖片合成到一個sprite中后,http請求從4減少到1.需要顯示的圖片利用background-position屬性來控制。

讓你的網(wǎng)站在移動端健步如飛

字體圖標(biāo)

字體圖標(biāo)是利用字體文件來包含符號和圖表(如Wingdings或Webdings 都是某種圖標(biāo)字體),可以用來代替加載一個圖像文件。例如,下面的圖標(biāo)不是一個圖像,而是Wingdings字體中的“h”字符:

[[84379]]

Wingdings和Webdings有點過氣了,現(xiàn)在有其他更專業(yè)的Web字體可用的,可以通過font-face加載。

單獨的Web字體,對于所有圖標(biāo)來講,HTTP請求的數(shù)量可以減少到一個。如果Web字體使用數(shù)據(jù)URI(如上所述)嵌入頁面,HTTP請求可以減少到零。這正是WordPress.com使用的技術(shù)。這是他們樣式表中嵌入的web 字體:

讓你的網(wǎng)站在移動端健步如飛

WordPress.com訪問所有這些圖標(biāo),不會有任何額外的HTTP請求,因為圖標(biāo)通過數(shù)據(jù)URI,以Web字體的方式嵌入到WordPress的樣式表中。

同時,字體圖標(biāo)可以使用CSS3關(guān)鍵幀動畫(這很有用,比如“加載”圖標(biāo)(小菊花))。  主要的缺點是,字體圖標(biāo)做成的CSS sprites只能是某個純色。亞馬遜的css雪碧圖包括彩色圖標(biāo),因此它不能使用這種技術(shù)。

IcoMoon之類的工具可以很方便的建立一個自定義Web字體。所需要的只是每個圖標(biāo)的SVG文件。

避免內(nèi)聯(lián)iframe

每一個內(nèi)聯(lián)框架(iframe)都會生成一個HTTP請求,這是在iframe內(nèi)沒有另外依賴資源的情況下。這是我們做一個快速測試,比較一個iframe只含有文本。

讓你的網(wǎng)站在移動端健步如飛

包含一個iframe增加了將近0.2s的加載時間。為了保證web站點加載迅速,最好不要使用iframe。

#p#

移動先行

移動先行也適用于前端開發(fā)。

編碼時以移動用戶作為第一考慮,然后為平板電腦和桌面逐步增強,減少不必要的依賴。另外一種方式為桌面端優(yōu)先,重型組件默認(rèn)加載,然后為小屏幕隱藏這些組件(稱為“優(yōu)雅降級”)。

下面例子為桌面端優(yōu)先的編碼:

  1. <style> 
  2.     .image { 
  3.         background-image: url(image1.jpg); 
  4.     } 
  5.  
  6.     @media (max-width:390px) { 
  7.         .image { 
  8.             display: none; 
  9.         } 
  10.     } 
  11. </style> 
  12.  
  13. <div class="image"></div> 

在上面的代碼中,默認(rèn)是顯示圖像,然后在移動設(shè)備上通過媒體查詢隱藏了圖片。

下面的例子為移動端優(yōu)先的編碼:

  1. <style> 
  2.     @media (min-width:391px) { 
  3.         .image { 
  4.             background-image: url(image1.jpg); 
  5.         } 
  6.     } 
  7. </style> 
  8.  
  9. <div class="image"></div>    

默認(rèn)情況下,圖片不顯示,之后使用媒體查詢對更大的屏幕進(jìn)行漸進(jìn)增強。

拆分到多個頁面(單獨的移動網(wǎng)站)

保持你的核心內(nèi)容在頁面上,之后提供到次要內(nèi)容的鏈接到次要內(nèi)容。這將減少HTML的加載負(fù)擔(dān),同時防止相關(guān)的資源被下載。

亞馬遜的移動產(chǎn)品頁面有通用的產(chǎn)品信息,同時提供鏈接到“用戶評論”、“描述和細(xì)節(jié)”和“新&使用提供。

這就減少了三張圖片的HTTP請求,且HTML的大小減少45 KB。

讓你的網(wǎng)站在移動端健步如飛

保持最少重定向(單獨的移動網(wǎng)站)

亞馬遜有一個重定向,來引導(dǎo)游客到單獨的移動頁面,這帶來了0.4秒的延遲。與之相比,戴爾的網(wǎng)站有兩個重定向,帶來了1.2秒延遲。

讓你的網(wǎng)站在移動端健步如飛

#p#

如何縮小圖片尺寸

響應(yīng)式圖片

響應(yīng)式圖片的思路是讓訪客圖像只下載那些最適合他們的設(shè)備的圖片,對于智能手機,使用低分辨率圖像,可以快速下載和渲染。

亞馬遜的獨立的移動產(chǎn)品頁面使用響應(yīng)式圖像技術(shù),利用媒體查詢分配一個特定的背景圖像到一個div。這是亞馬遜的代碼:

  1. <!-- // This meta viewport is inserted for iPhones // --> 
  2. <meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0"> 
  3.  
  4. <!-- // This meta viewport is inserted for the Nexus S // --> 
  5. <meta name="viewport" content="width=device-width"> 
  6.  
  7. <style> 
  8.     @media (max-width:390px) { 
  9.         #image-container { 
  10.             max-width: 109px; 
  11.         } 
  12.         .image { 
  13.             background-image: url(image1.jpg); 
  14.         } 
  15.     } 
  16.     @media (max-width:390px) and (-webkit-min-device-pixel-ratio:1.5) { 
  17.         .image { 
  18.             background-image: url(image2.jpg); 
  19.         } 
  20.     } 
  21.     @media (max-width:390px) and (-webkit-min-device-pixel-ratio:2) { 
  22.         .image { 
  23.             background-image: url(image3.jpg); 
  24.         } 
  25.     } 
  26.     @media (min-width:391px) and (max-width:500px) { 
  27.         #image-container { 
  28.             max-width: 121px; 
  29.         } 
  30.         .image { 
  31.             background-image: url(image4.jpg); 
  32.         } 
  33.     } 
  34.     @media (min-width:391px) and (max-width:500px) and (-webkit-min-device-pixel-ratio:1.5) { 
  35.         .image { 
  36.             background-image: url(image5.jpg); 
  37.         } 
  38.     } 
  39.     @media (min-width:391px) and (max-width:500px) and (-webkit-min-device-pixel-ratio:2) { 
  40.         .image { 
  41.             background-image: url(image6.jpg); 
  42.         } 
  43.     } 
  44.     @media (min-width: 501px) and (max-width: 767px) { 
  45.         #image-container { 
  46.             max-width: 182px; 
  47.         } 
  48.         .image { 
  49.             background-image: url(image5.jpg); 
  50.         } 
  51.     } 
  52.     @media (min-width: 501px) and (max-width: 767px) and (-webkit-min-device-pixel-ratio:1.5) { 
  53.         .image { 
  54.             background-image: url(image7.jpg); 
  55.         } 
  56.     } 
  57.     @media (min-width: 501px) and (max-width: 767px) and (-webkit-min-device-pixel-ratio:2) { 
  58.         .image { 
  59.             background-image: url(image8.jpg); 
  60.         } 
  61.     } 
  62.     @media (min-width:768px) { 
  63.         #image-container { 
  64.             max-width: 303px; 
  65.         } 
  66.         .image { 
  67.             background-image: url(image8.jpg); 
  68.         } 
  69.     } 
  70.     @media (min-width:768px) and (-webkit-min-device-pixel-ratio:1.5) { 
  71.         .image { 
  72.             background-image: url(image8.jpg); 
  73.         } 
  74.     } 
  75.     @media (min-width:768px) and (-webkit-min-device-pixel-ratio:2) { 
  76.         .image { 
  77.             background-image: url(image8.jpg); 
  78.         } 
  79.     } 
  80. </style> 
  81.  
  82. <div id="image-container"> 
  83.     <div class="image"> 
  84.         <img src="image1.jpg" /> 
  85.     </div> 
  86. </div> 

盡管亞馬遜在內(nèi)部樣式中有八個產(chǎn)品圖片,在豎屏模式下的iPhone 4或Nexus S只有兩個被下載。

《波士頓環(huán)球報》的響應(yīng)式網(wǎng)站,采用了利用不同的data-fullsrc來加載圖片的響應(yīng)式圖像技術(shù)。這是一個html標(biāo)記,和一個服務(wù)器端JavaScript重定向規(guī)則的組合:

  1. <img alt="" src="mobile-size.r.jpg" data-fullsrc="desktop-size.jpg" /> 

src是手機上使用的圖像,確保網(wǎng)站默認(rèn)為尺寸較小的版本(移動先行),而data-fullsrc是全尺寸的圖像。JavaScript用來檢測設(shè)備的屏幕大小,之后寫入cookie。對于大屏幕,JavaScript利用data-fullsrc上的高分辨率圖像替換較小的圖片。服務(wù)器也使用Apache重寫規(guī)則,來在圖像文件的名稱中檢查.r.(mobile用的圖片帶有.r.),同時顯示一個備用GIF,而不會使用較小的移動圖像(從而防止手機大小的圖像被下載到桌面)。

微軟的響應(yīng)式網(wǎng)站使用的斯科特·杰爾的Picturefill技術(shù):

  1. <div data-picture data-alt="Alternate text here"> 
  2.     <div data-src="image1.png"></div> 
  3.     <div data-src="image2.png" data-media="(min-device-pixel-ratio: 2.0)"></div> 
  4.     <div data-src="image3.png" data-media="(max-width: 539px)"></div> 
  5.     <div data-src="image4.png" data-media="(max-width: 539px) and (min-device-pixel-ratio: 2.0)"></div> 
  6.  
  7.     <noscript><img src="image1.png" alt="Alternate text here" /></noscript> 
  8. </div> 

注意:上面的代碼片段中, data-picture= " "應(yīng)該是 data-picture,沒有= " "。(=字符是smashing magazine的所見即所得編輯器自動插入的)。利用這種技術(shù),JavaScript掃描頁面的代碼,發(fā)現(xiàn)包含data-picture屬性的div。然后根據(jù)data-media屬性插入一個新的img標(biāo)簽。

這些響應(yīng)式圖像技術(shù)的主要好處有:

  • 小屏幕下載低分辨率的圖像,而大屏幕下載高分辨率圖像;
  • 只下載所需的圖片,而不需要的圖片不在后臺加載。

有各種各樣的其他技術(shù)實現(xiàn)響應(yīng)式圖像。你可以查看這些資源,了解更多的細(xì)節(jié):

#p#

如何減少客戶端處理

讓JAVASCRIPT降到最低

星巴克的響應(yīng)式網(wǎng)站在 chrome下禁用javascript后,桌面端良好的網(wǎng)絡(luò)環(huán)境下花費了3.53秒加載完畢,而啟用javascript后,花費了4.73秒,增加了 34%。Javascript對加載時間的影響,在移動端較小的內(nèi)存,cpu及緩存下會表現(xiàn)得更明顯。通常,我們要重新思考javascript的使用, 并保持其在最小尺寸。

一個很好的例子是BBC移 動網(wǎng)站的JavaScript。網(wǎng)站不使用外部JavaScript文件——都是內(nèi)聯(lián)。內(nèi)聯(lián)腳本僅限于幾行,沒有顯著影響內(nèi)存,HTML文件和所有內(nèi)聯(lián) JavaScript花費0.78秒加載完畢。就像BBC那樣,亞馬遜的移動產(chǎn)品頁面也沒有外部JavaScript文件,而使用最少的內(nèi)聯(lián)腳本。 HTML文件和所有內(nèi)聯(lián)JavaScript花費0.75秒加載完畢。

(請注意,jQuery不是一個輕量的替代方案,事實上是jquery本身的補充。)這兩個網(wǎng)站在iPhone 4下均在4秒內(nèi)加載完畢。使用一個JavaScript框架前,考慮它是否真的有必要。在某些情況下,使用少量的JavaScript比調(diào)用一個框架更有效。

避免組件

組件對實際加載時間的影響是災(zāi)難性的。為了驗證這一點,我們創(chuàng)建了一系列簡單的HTML文件,每個文件包含默認(rèn)的嵌入代碼,一個小部件。你可以看到下面的結(jié)果多糟糕。注意,這不是一個完美的測試,因為這些都是在模擬環(huán)境中的可控實驗,不過結(jié)果比較有意思。

讓你的網(wǎng)站在移動端健步如飛

在單個頁面中,結(jié)合他們?yōu)橐粋€小部件,結(jié)果只包含這個部件的情況下,加載時間長達(dá)4秒。

服務(wù)器端(后端)技術(shù)

除了優(yōu)化前端,服務(wù)器端技術(shù)也可以用來加速加載時間。這些技術(shù)都值得考慮,但不會在本文中介紹:

  • 緩存HTTP重定向來加速重復(fù)訪問;
  • 合并HTTP重定向鏈來減少重定向;
  • 使用HTTP壓縮來減少數(shù)量的字節(jié)(Gzip或縮小)。

測試移動設(shè)備上的性能

由于移動設(shè)備的不可預(yù)知性,測試多個設(shè)備上的性能是很重要的。這里有一些免費的性能測試工具:

  • Mobitest,Akamai: 可以對對iPhone 4的 iOS 5.0,iPhone 3 g和Nexus S 生成瀑布圖和HAR文件 .注意Nexus S測試結(jié)果與我們自己的內(nèi)部測試不一致。我們的服務(wù)器訪問日志顯示,當(dāng)我們測試實際安卓2。x設(shè)備時產(chǎn)生了更少的HTTP請求。
  • “Network Panel,” Chrome Developer Tools

結(jié)論

為了滿足移動用戶的高期望,你需要對網(wǎng)站針對移動設(shè)備進(jìn)行優(yōu)化,在4秒或更少的時間里加載完畢。最好的方式來達(dá)到4秒這個魔術(shù)時間,是通過減少JavaScript和優(yōu)化HTML、CSS和圖像,保持智能手機上最少的處理負(fù)荷。

使用上面介紹的技術(shù),你就可以自己建立一個符合潮流的移動互聯(lián)網(wǎng)體驗!你有什么要補充的嗎?在評論中讓我們知道。

英文原文:http://mobile.smashingmagazine.com/2013/04/03/build-fast-loading-mobile-website/

中文譯文:http://www.w3cplus.com/performance/build-fast-loading-mobile-website.html

責(zé)任編輯:徐川 來源: w3cplus
相關(guān)推薦

2018-06-20 13:14:16

MySQL數(shù)據(jù)優(yōu)化查詢備忘錄

2013-08-27 13:13:29

移動網(wǎng)站性能優(yōu)化移動web

2025-02-17 14:48:14

2018-12-24 21:40:12

2020-11-02 10:41:33

備忘錄模式

2011-08-16 18:38:23

Core Animat動畫

2011-04-11 10:03:32

錢伯斯思科

2017-03-21 11:02:59

基礎(chǔ)深度學(xué)習(xí)備忘錄

2023-10-10 15:26:30

內(nèi)存泄露OOM

2014-04-17 10:30:41

Linux 命令黑白備忘錄

2016-03-03 10:09:26

2015-07-21 17:56:22

戴爾

2021-03-08 00:12:44

Grid 備忘錄 函數(shù)

2011-12-07 09:19:49

JavaJ2MEBicaVM

2014-05-04 11:06:41

移動網(wǎng)站移動設(shè)計

2022-04-07 08:00:00

Javascript開發(fā)

2011-05-20 09:12:48

AMD北京云基地云計算

2024-05-15 17:41:37

備忘錄模式多線程

2019-04-30 11:15:51

正則表達(dá)式JS前端

2023-10-07 00:14:53

點贊
收藏

51CTO技術(shù)棧公眾號

香蕉视频久久久| 国产精品天天av精麻传媒| 六月丁香综合网| 香蕉久久夜色精品国产| 这里只有视频精品| 99国产精品免费视频| 涩涩av在线| 国产精品久久久久四虎| 国产精品一 二 三| 中文无码精品一区二区三区| 亚洲视频狠狠| 国产香蕉一区二区三区在线视频| 欧美视频亚洲图片| 周于希免费高清在线观看| 中文字幕一区在线| 久久综合九色综合网站| 99久久亚洲精品日本无码 | 国产成人8x视频一区二区| 69av视频在线播放| 成人在线观看小视频| 九九在线高清精品视频| 日韩视频免费观看高清完整版 | 国产麻豆精品在线观看| 日本电影亚洲天堂| 国产真人真事毛片| 91成人免费| 一区二区三区亚洲| 亚洲最大成人网站| 成人爽a毛片免费啪啪红桃视频| 欧美亚洲日本一区| 日韩欧美xxxx| 国产精选在线| 亚洲一区二区在线免费看| 在线不卡日本| av大片在线观看| 国产亚洲欧美日韩日本| 久久伊人一区二区| 色噜噜一区二区三区| 粉嫩高潮美女一区二区三区 | 久久久久久久久电影| 乱h高h女3p含苞待放| 成人3d动漫在线观看| 亚洲嫩模很污视频| 色噜噜在线观看| 狠狠一区二区三区| 精品乱人伦小说| 麻豆精品国产传媒| 伊人精品综合| 欧美变态凌虐bdsm| 欧美午夜精品一区二区| 亚洲成人黄色| 欧美一级电影网站| 日本黄色三级网站| 久久国产精品美女| 日韩欧美精品在线| 日本黄色www| 91亚洲无吗| 亚洲第一色在线| 黄色激情在线观看| 欧美电影在线观看免费| 国产丝袜一区视频在线观看| 中文字幕xxx| 综合亚洲色图| 亚洲最大在线视频| 国产又黄又粗又猛又爽的 | 黄色成人在线看| 伊人久久综合一区二区| 日本乱人伦aⅴ精品| www.超碰com| 青青国产精品| 日韩欧美成人激情| 欧类av怡春院| 久久99高清| www日韩欧美| 久久97人妻无码一区二区三区| 一区视频在线| 热草久综合在线| 中文字幕在线观看精品| 国产精品一卡二卡| 久久影视中文粉嫩av| 国产h在线观看| 亚洲美女淫视频| 国产高清av在线播放| 欧美色片在线观看| 日韩一区二区三区四区| 黄色性生活一级片| 91亚洲国产| 欧美激情手机在线视频| 五月天激情国产综合婷婷婷| 美女网站在线免费欧美精品| 99国产超薄肉色丝袜交足的后果| 亚洲欧洲精品视频| 综合欧美亚洲日本| 欧美极品欧美精品欧美| 欧美jizz18| 日韩高清人体午夜| 97在线观看视频免费| 一二三区精品| 91系列在线播放| 奇米影视888狠狠狠777不卡| 国产精品视频yy9299一区| www.在线观看av| 成人国产综合| 日韩高清免费在线| 欧美极品aaaaabbbbb| 日韩中文字幕麻豆| 国产66精品久久久久999小说| 国产区av在线| 五月天丁香久久| 国产精品中文久久久久久| 亚洲+变态+欧美+另类+精品| 欧美成年人视频网站| 69视频免费看| 99精品视频在线播放观看| 久久av秘一区二区三区| 日韩欧美看国产| 日韩精品一区二区三区中文精品| 一级片黄色录像| 午夜在线播放视频欧美| 国产精品国产三级欧美二区| 久草免费在线| 欧美年轻男男videosbes| 亚洲精品成人无码熟妇在线| 99精品国产在热久久婷婷| 亚洲一区二区三| 免费黄色电影在线观看| 91久久一区二区| 成人精品在线观看视频| 亚洲人成在线影院| 国产91精品一区二区绿帽| 国产成人l区| 欧美丰满少妇xxxxx高潮对白| 欧美精品日韩在线| 日韩av电影天堂| 欧美日韩在线观看一区| 亚洲性受xxx喷奶水| 亚洲国产精品视频在线观看| 久久这里只有精品国产| 国产剧情一区在线| 亚洲精品国产suv一区88| 亚洲精品第一| 久久综合电影一区| 国产美女免费视频| 亚洲老妇xxxxxx| 三日本三级少妇三级99| 希岛爱理av一区二区三区| 国产欧美精品久久久| sese在线视频| 欧美日韩一二三| 黄色免费一级视频| 久久成人免费网| 好吊色这里只有精品| 成人自拍视频| 欧美激情国产日韩精品一区18| 国内老熟妇对白hdxxxx| 亚洲一区二区五区| 特级西西人体wwwww| 亚洲综合电影一区二区三区| 欧美连裤袜在线视频| 99久久伊人| 久久亚洲精品成人| 丰满熟女一区二区三区| 午夜精品久久久| 欧美成人国产精品一区二区| 美女视频免费一区| 黄色影视在线观看| 91久久偷偷做嫩草影院电| 欧美极品少妇xxxxⅹ免费视频| 深夜福利视频网站| 91久久线看在观草草青青| 99久久99久久精品免费| 国产精品一区二区在线观看网站| 999久久欧美人妻一区二区| 精品深夜福利视频| 国产精品扒开腿做爽爽爽男男| 超碰免费在线观看| 欧美变态tickling挠脚心| 日韩精品1区2区| 国产精品久久久久影院亚瑟| 女教师高潮黄又色视频| 久久先锋资源| 好色先生视频污| 视频小说一区二区| 国产欧美欧洲在线观看| xxxx视频在线| 中文综合在线观看| 日批免费在线观看| 欧美日韩免费观看一区二区三区| 精品爆乳一区二区三区无码av| 久久综合网色—综合色88| 国产aⅴ爽av久久久久| 亚洲黄色在线| 一区二区三区在线观看www| 国产欧美啪啪| 成人免费福利视频| sm在线播放| 久久视频在线视频| 四虎影视在线观看2413| 91精品婷婷国产综合久久竹菊| 日韩网红少妇无码视频香港| 中文字幕在线免费不卡| 182在线视频| 国产在线不卡一区| 欧美成人免费高清视频| 亚洲综合专区| 日韩三级在线播放| 精品三级av在线导航| 成人黄色av免费在线观看| 成人免费短视频| 精品综合久久久久久97| 99视频在线观看地址| 国产视频在线观看一区二区| www.日韩高清| 欧美日韩二区三区| 99久久久无码国产精品免费蜜柚| 午夜在线电影亚洲一区| 午夜精品福利在线视频| 国产精品天天看| 国产福利短视频| 成人av在线电影| 午夜诱惑痒痒网| 美女诱惑一区二区| 福利在线一区二区三区| 在线综合视频| 美脚丝袜脚交一区二区| 亚洲国产精品成人| 亚洲欧美电影在线观看| 精品无人区麻豆乱码久久久| 欧美精品一区二区三区在线四季 | 国产亚洲欧洲高清一区| 少妇人妻偷人精品一区二区| 日韩一级片在线播放| 国产又粗又猛又黄又爽| 欧美日韩在线免费视频| 最新中文字幕在线观看视频| 色综合久久中文综合久久牛| 中文在线观看免费网站| 亚洲午夜视频在线观看| 久操免费在线视频| 一区二区三区 在线观看视频| 91视频综合网| 亚洲欧洲制服丝袜| 性色av无码久久一区二区三区| 1区2区3区国产精品| 国产老头老太做爰视频| 国产精品久久久久久久久动漫| 亚洲天堂av中文字幕| 中文字幕+乱码+中文字幕一区| 日本黄色激情视频| 国产精品美女久久久久aⅴ国产馆| 夫妇交换中文字幕| 国产精品你懂的在线欣赏| 一本一本久久a久久| 亚洲欧美日本在线| 久草免费在线观看视频| 亚洲高清视频的网址| 日韩av无码中文字幕| 欧美午夜精品久久久久久人妖| 免费污污视频在线观看| 欧美午夜电影网| 99久久精品国产一区色| 精品乱人伦小说| 欧美男男激情freegay| 中文字幕免费精品一区高清| 免费av在线网址| 欧美激情视频在线| 天堂在线中文网官网| 国产欧美日韩综合精品| 精品午夜av| 另类欧美小说| 91欧美在线| 999在线观看视频| 视频一区二区三区入口| 亚洲欧美日韩网站| 99视频有精品| 日本污视频网站| 亚洲综合激情另类小说区| 成人毛片在线播放| 欧美美女视频在线观看| 六月丁香色婷婷| 在线观看久久av| 2020国产在线| 国产精品一区久久久| 国产精品超碰| 亚洲ai欧洲av| 最新国产拍偷乱拍精品| 天天色综合天天色| www.在线成人| 国产美女久久久久久| 欧美日韩午夜激情| 国产精品伦一区二区三区| 亚洲国产精品久久久久秋霞蜜臀 | 中文字幕视频一区| 五月天婷婷网站| 欧美日本一区二区在线观看| 狠狠人妻久久久久久综合麻豆| 国产一区二区久久精品| 色在线视频网| 国产精品稀缺呦系列在线| 欧美大片网址| 成人高清dvd| 久久精品99国产精品| 欧美成人三级伦在线观看| 亚洲欧美日韩国产一区二区三区| 国产一级做a爱片久久毛片a| 欧美一区二区三区影视| www.av在线| 清纯唯美日韩制服另类| heyzo欧美激情| 一区一区视频| 三级影片在线观看欧美日韩一区二区| 在线观看一区二区三区视频| 欧美国产精品一区二区| 五月天婷婷激情| 亚洲成人av在线播放| 欧美日韩xx| 国产精品高潮视频| 亚洲涩涩av| 欧美爱爱视频免费看| 国产.欧美.日韩| 国产高清在线免费观看| 在线播放91灌醉迷j高跟美女| 韩国福利在线| 欧美一级在线亚洲天堂| 老汉色老汉首页av亚洲| 国产一级做a爰片久久毛片男| 韩国一区二区视频| 一级免费黄色录像| 欧美探花视频资源| www.黄在线观看| 国产精品视频一| 欧美亚洲高清| 欧美日韩大尺度| 国产亚洲婷婷免费| 天堂免费在线视频| 国产一区二区三区欧美| 日韩在线免费| 色女人综合av| 七七婷婷婷婷精品国产| 久久久久久国产免费a片| 欧美在线不卡视频| 3d成人动漫在线| 国产精品尤物福利片在线观看| 欧美丝袜丝交足nylons172| 熟女少妇精品一区二区| 国产日韩一级二级三级| 亚洲精品无码久久久久| 伊人伊成久久人综合网小说| 国产精品.xx视频.xxtv| youjizz.com亚洲| 国内精品久久久久影院薰衣草 | 最新亚洲一区| 黄色正能量网站| 91福利小视频| 福利在线视频导航| 国产中文字幕91| 亚洲天天影视网| 中文字幕三级电影| 欧美午夜精品久久久久久久| 二区三区在线播放| 国产一区欧美二区三区| 亚洲综合中文| 亚洲国产精品自拍视频| 在线亚洲一区二区| 成人在线观看免费网站| 国产伦精品一区二区三区照片91| 在线亚洲欧美| av资源在线免费观看| 日韩精品中午字幕| 中文字幕在线免费观看视频| 日韩妆和欧美的一区二区| 麻豆精品久久久| 久久久久久国产精品视频| 日韩国产中文字幕| 欧美高清xxx| www.成年人视频| 国产亚洲短视频| av加勒比在线| 欧美亚洲一区在线| 9999国产精品| 制服下的诱惑暮生| 色婷婷综合久色| 大片免费在线看视频| 免费成人在线观看av| 久久成人av少妇免费| 国产做受高潮漫动| 色系列之999| 爽爽窝窝午夜精品一区二区| 在线播放av中文字幕| 黄色成人在线播放| 久操视频在线免费播放| 欧美二级三级| 国产成人午夜99999| 波多野结衣视频在线观看| 欧美成人国产va精品日本一级| 亚洲免费专区| 丰满少妇xbxb毛片日本| 欧美日韩一区不卡| 亚洲精品88| 欧美精品久久久久久久久久久|