偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

高性能WEB開發(fā)之圖片篇

開發(fā) 前端
在該網(wǎng)站在不影響原圖片的質量下去掉圖片中一些元數(shù)據(jù),那么這怎么去實現(xiàn)呢?本文就主要告訴你如何高性能WEB開發(fā)之圖片篇

一、縮小圖片大小

當圖片很多的時候,減少圖片大小是提高下載速度最直接的方法。

1. 使用PNG8代替GIF(非動畫圖片),因為PNG8在效果一樣的情況,圖片大小比GIF要小。

2. 用fireworks處理PNG圖片,在我們產(chǎn)品中很多PNG圖片是美工直接用photoshop導出的,

后來讓美工用fireworks處理PNG(大概的方式是選擇保存為PNG8,刪除背景色)。

處理后100K的圖片大小基本減少了3/4,但圖片質量也會有少許降低,要看自己是否能接受。

3. 使用Smush.it(http://www.smushit.com/ysmush.it/)壓縮圖片,Smush.it是YUI團隊做1個在線壓縮圖片的網(wǎng)站,

該網(wǎng)站在不影響原圖片的質量下去掉圖片中一些元數(shù)據(jù),所以可以放心使用該網(wǎng)站進行壓縮,

但這個壓縮比例也是比較有限的。

二、合并圖片和拆分圖片

1. CSS Sprites合并圖片以減少請求數(shù)來提高性能大家都知道。但不要把圖片合并太多,太多太大了,

就會因為這1個圖片影響這個頁面的顯示了。

2. 有時候我們需要把1個大圖片拆分成多個小圖片,比如產(chǎn)品首頁圖片比較少,就1個很大的banner圖片,

因瀏覽器都可以并發(fā)下載圖片,所以如果不拆分,只使用1個大圖片的話,下載速度反而會比較慢

三、透明圖片處理

IE6不能顯示透明的PNG圖片,是很多開發(fā)人員特別頭疼的事,分別介紹下幾種方式的優(yōu)缺點。

1.使用AlphaImageLoader,IE6支持filter,使用下面的CSS代碼,可以讓IE6支持PNG

  1. #some-element {  
  2.     background: url(image.png);  
  3.     _background: none;  
  4.     _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png'sizingMethod='crop');  
  5.   } 

優(yōu)點:使用簡單

缺點:性能損耗很大,AlphaImageLoader會花費很多資源去處理透明圖片,使用AlphaImageLoader,IE使用內存會迅速上升。

而且AlphaImageLoader所有處理都在同1個線程中同步進行,所以當AlphaImageLoader多的時候,會阻塞UI的渲染。

使用_filter,IE7也可以識別,其實IE7是可以識別PNG透明圖片的,如果在IE7下使用上面代碼,IE7不會直接使用圖片,而是使用AlphaImageLoader。

注:個人建議盡量避免使用AlphaImageLoader

2. JS處理

使用DD_belatedPNG(http://www.dillerdesign.com/experiment/DD_belatedPNG/),可以很簡單的對界面上所有的透明圖片進行同一處理。

優(yōu)點:使用簡單(比AlphaImageLoader還簡單)

缺點:當頁面上需要處理的圖片比較多的時候,速度也比較慢,而且不能動態(tài)改變圖片。

3. VML

IE6支持VML,VML可以使用透明圖片,代碼如下:

修改html代碼頭部

  1. html  xmlns ="http://www.w3.org/1999/xhtml"  xmlns:v >   
  2.            head >    
  3.         style  type ="text/css" >   
  4.             v\:* { behavior : url(#default#VML) ; }   
  5.             span style="color: rgb(128, 0, 0);">style >   
  6.            span style="color: rgb(128, 0, 0);">head >     
  7.            body >   
  8.               v:image  src ="image.png"   />   
  9.            span style="color: rgb(128, 0, 0);">body >   
  10.          span style="color: rgb(128, 0, 0);">html > 

優(yōu)點:性能好,速度快

缺點:使用復雜,而且不支持firefox等瀏覽器,需要判斷不同的瀏覽器輸出不同的HTML代碼。

四、多域名下載圖片

因每個瀏覽器對同1個域名同時只能發(fā)送固定的請求,比如IE6好像是2個,所以可以對圖片資源開通多個域名進行請求,

比如img1.abc.com,img2.abc.com。但域名不要開啟太多,因為解析域名和打開新的連接都需要消耗時間,域名多了,說不定反而會更慢。一般2-4個域名就夠了。

五、IE6下緩存背景圖片

IE6背景圖片緩存是個麻煩事,很多人知道使用下面的JS來讓IE6緩存背景圖片

  1. try{  
  2.      document.execCommand("BackgroundImageCache", false, true);  
  3. }catch(e){}  

但是這樣做的效果并不是非常好,當出現(xiàn)鼠標移動改變背景圖片的時候,IE6老是會發(fā)送1個圖片請求(盡管該背景圖片已經(jīng)下載),

雖然返回結果是304,但還是要花費不少時間。在這種情況下,可以使用下面1個變通的方式來處理,

在頁面上直接使用1個DIV元素來加載該圖片,這樣加載圖片就能真正被緩存,鼠標移動也不會發(fā)送請求了。

六、預加載圖片

使用下面代碼可以在頁面加載完畢后預加載下1個頁面的圖片,當進入下1個頁面就不用再下載圖片了。
 

  1. window.onload=function(){  
  2.    var img = new Image();  
  3.    img.src = "images/image.png";  
  4.    img = null;  
  5. }; 

原文鏈接:http://www.blogjava.net/BearRui/archive/2010/02/22/web_performance_image.html

系列文章:

高性能WEB開發(fā)之Web性能測試工具推薦

高性能WEB開發(fā)之HTTP服務器

【編輯推薦】

  1. 探索移動Web網(wǎng)頁編碼設計
  2. 分享31套精美的Web和手機開發(fā)UI素材包
  3. Web設計師:網(wǎng)頁設計如何自學成才
  4. Web開發(fā)者不能忽略的10個設計元素
  5. Web開發(fā)人員必收藏的常用速查手冊
責任編輯:陳貽新 來源: BearRui的博客
相關推薦

2011-04-07 13:53:25

Web工具

2011-04-19 11:06:03

JavaScriptweb

2011-10-18 13:58:32

高性能web

2011-04-07 13:39:24

WebHTTP

2011-04-21 09:59:48

WEBjavascript

2011-04-27 10:57:29

高性能web開發(fā)

2013-09-10 16:16:19

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

2011-04-22 09:54:37

CSSjavascript

2011-06-14 09:27:43

高性能WEB開發(fā)

2011-04-28 09:40:26

flush高性能Web開發(fā)

2011-04-25 10:11:57

高性能web開發(fā)

2011-04-21 10:47:29

Webjavascript

2016-08-23 14:37:21

2009-07-30 10:28:56

Web高性能開發(fā)

2013-08-16 14:43:14

高性能移動Web移動Web站點移動Web

2016-11-28 09:19:27

2013-06-19 09:20:53

Web開發(fā)Web性能優(yōu)化高性能

2014-03-19 14:34:06

JQuery高性能

2013-09-10 17:13:57

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

2021-07-05 14:55:28

前端優(yōu)化圖片
點贊
收藏

51CTO技術棧公眾號