盤點(diǎn):處理網(wǎng)頁(yè)圖片最常見的10個(gè)錯(cuò)誤及解決方案_第1頁(yè)
盤點(diǎn):處理網(wǎng)頁(yè)圖片最常見的10個(gè)錯(cuò)誤及解決方案_第2頁(yè)
盤點(diǎn):處理網(wǎng)頁(yè)圖片最常見的10個(gè)錯(cuò)誤及解決方案_第3頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

盤點(diǎn):處理網(wǎng)頁(yè)圖片最常見的10個(gè)錯(cuò)誤及解決方案

不幸的是帶寬很貴。對(duì)于高流量的網(wǎng)站,帶寬很可能要為你的IT花費(fèi)負(fù)主責(zé),輕松超越虛擬主機(jī)和存儲(chǔ)花費(fèi)。另外,如此大量的流量需要花時(shí)間,所以在瀏覽你的網(wǎng)站時(shí),訪問(wèn)者很可能要花很長(zhǎng)時(shí)間來(lái)等待圖片的載入。由于加載時(shí)間過(guò)長(zhǎng),縱觀從一端與訪客遺棄的IT成本,你可能想好好看看如何在線管理你的圖片。當(dāng)每一秒傳遞減少你的網(wǎng)站的整體轉(zhuǎn)換并最終營(yíng)收-它使得你想盡可能優(yōu)化你的圖片和圖片傳輸而變得非常有意義.使用Cloudinary,我們想在網(wǎng)站與手機(jī)應(yīng)用程序上的一切相關(guān)的圖片提供一個(gè)結(jié)論性的解決方案。通過(guò)存貯,你從上傳覆蓋,操縱,優(yōu)化并交付。作為一個(gè)開發(fā)者,你不需要再擔(dān)心圖像相關(guān)的R&D和IT.Cloudinary解決了大量的共同的圖片相關(guān)的問(wèn)題。對(duì)于尚未使用Cloudinary的開發(fā)者來(lái)說(shuō),我們認(rèn)為它很可能有幫助,如果我們列舉了其中的我們往往每天會(huì)遇到的與他們?nèi)绾慰梢?并應(yīng)該)來(lái)解決的問(wèn)題。1.奢侈的在瀏覽器端調(diào)整圖片大小我們常常觀察到開發(fā)者所使用的一個(gè)快捷方式就是使用瀏覽器端的圖片大小調(diào)整,而不是在服務(wù)器端就把圖片的大小調(diào)整好、.情況常常是一樣的-網(wǎng)站中擁有許多特定尺寸的縮略圖,然后圖形的設(shè)計(jì)發(fā)生了變化.新的圖形設(shè)計(jì)要求縮略圖尺寸有一點(diǎn)輕微的變化,而我們的開發(fā)者,有時(shí)是隨意,有時(shí)則是刻意的,就使用原來(lái)的大尺寸圖片,只是針對(duì)瀏覽器調(diào)整一下圖片的CSS高度和寬度,使圖片看起來(lái)是一張縮略圖.在現(xiàn)代瀏覽器上,最終結(jié)果看上去確實(shí)是一樣的,但是加載圖片所耗費(fèi)的帶塊卻是不一樣的.你的網(wǎng)站訪問(wèn)這需要浪費(fèi)珍貴的時(shí)間來(lái)加載一張不必要的拉圖片,而你則浪費(fèi)了多余的帶寬去傳輸他們.對(duì)于更老的瀏覽器這一問(wèn)題會(huì)更加的突出,因?yàn)樗麄冋{(diào)整圖片尺寸的算法效率是低于平均水品的.這一問(wèn)題比你想象的還要普遍許多,它能在我們?nèi)粘TL問(wèn)的許多網(wǎng)站中找到.例如,訪問(wèn)Yahoo的前頭版頁(yè)面,你會(huì)注意到“熱點(diǎn)“新聞這里加載的所有縮略圖像素都是你所看到的尺寸的兩倍.如何解決:對(duì)于開發(fā)者/設(shè)計(jì)者-請(qǐng)確保你要發(fā)布的圖片完美的契合需要他們的網(wǎng)站的尺寸.即使是同一張圖片,也要用不同尺寸的縮略圖來(lái)適配不同的頁(yè)面,創(chuàng)建不同尺寸的縮略圖,而不是全都使用同一張大尺寸圖片并依賴瀏覽器去調(diào)整它的大小,這樣做是很值得的.2.沒(méi)必要的高質(zhì)量JPEG圖片JPEG圖片確實(shí)為web帶來(lái)革命性的影響.多年以來(lái),這一有損壓縮格式讓web開發(fā)者可以值耗費(fèi)較任何其它競(jìng)爭(zhēng)對(duì)手更低的帶寬來(lái)加載帶有高細(xì)節(jié)的高分辨率圖像.而我們?nèi)匀徊粩嗫吹介_發(fā)者和圖形設(shè)計(jì)師不去嘗試對(duì)圖像進(jìn)行JPEG壓縮.事實(shí)上,在大多數(shù)網(wǎng)站中,你都可以在觀看質(zhì)量沒(méi)有明顯損失的前提下安全吧JPEG質(zhì)量降低一個(gè)檔次.而85%的JPEG圖像質(zhì)量似乎很普遍,我們看到許多網(wǎng)站中的質(zhì)量都普遍是在95%,而一個(gè)更低的質(zhì)量水品,其實(shí)可以再不損害整個(gè)體驗(yàn)的情況下大大解決帶寬.最終結(jié)果是更高的帶寬消耗,以及網(wǎng)絡(luò)延時(shí)給用戶體驗(yàn)帶來(lái)的影響.上面這兩張圖片質(zhì)量幾乎一樣,左邊是質(zhì)量95%的JPEG大小有34KB,而右邊80%的JPEG則只有17KB,只要一半的下載時(shí)間,且加載的時(shí)間是前者的兩倍.這樣微乎其微的質(zhì)量損失是值得的.如何解決:不要害怕去嘗試更低質(zhì)量的JPEG.對(duì)于某些網(wǎng)站,我們發(fā)現(xiàn)使用50%的JPEG質(zhì)量可以為我們帶來(lái)一個(gè)非常合理的結(jié)果.而更高質(zhì)量的JPEG當(dāng)然總是看起來(lái)更好,但質(zhì)量上的提升并不總是能值回高質(zhì)量圖片所帶來(lái)的額外的帶寬和等待時(shí)間。3.錯(cuò)誤的圖片文件類型當(dāng)前的網(wǎng)站是JPEG、PNG以及GIF三分天下。網(wǎng)站中平均起來(lái)JPEG和GIF占大約40%,PNG占剩下的20%。關(guān)于這三種格式的好的(以及壞的)方面是它們每一個(gè)在網(wǎng)站中都有不同的角色。使用錯(cuò)誤圖片格式是浪費(fèi)訪問(wèn)者的時(shí)間以及你自己的錢。在Cloudinary中,我們最常見的錯(cuò)誤是使用PNG來(lái)投遞照片。對(duì)于PNG的通常的誤解是它是無(wú)損的格式,并認(rèn)為它是照片最可能的替代品。通常來(lái)說(shuō)這沒(méi)錯(cuò),也確實(shí)沒(méi)必要做優(yōu)化。只需要一點(diǎn)點(diǎn)PNG文件大小就可以獲得質(zhì)量相當(dāng)?shù)母哔|(zhì)量JPEG圖片。左邊的是PNG圖片,它有110KB大小。右邊是一個(gè)JPEG圖片,看起來(lái)差不多,但是只有15KB大小。怎么破:要時(shí)刻注意什么圖片格式適合于內(nèi)容顯示。PNG應(yīng)該被用于計(jì)算機(jī)生成的圖片(圖表、logo等),或者你需要圖片中有部分透明(圖片覆蓋)。JPEG應(yīng)該被用于顯示抓取的圖片。GIF應(yīng)該在要顯示動(dòng)畫時(shí)用(使用Jjax載入動(dòng)畫等)。要注意這些是通常的原則,PNG幾乎在所有的方面都要?jiǎng)龠^(guò)GIF。4.發(fā)表非優(yōu)化的圖片我們知道PNG是無(wú)損格式,但是你知道它可以進(jìn)一步壓縮嗎?發(fā)表同意精細(xì)的圖片,免費(fèi)的PNG壓縮工具可以將PNG大小減少達(dá)到50%。同樣精細(xì)的圖片,而只有一半大???當(dāng)我腦殘嘛。不幸的是,許多開發(fā)者和網(wǎng)站設(shè)計(jì)者跳過(guò)了這一步,發(fā)表了非優(yōu)化圖片。怎么破:PNGCrush和OptiPNG是兩個(gè)開源圖片優(yōu)化庫(kù),如果你還沒(méi)有用過(guò),你確實(shí)應(yīng)該用用了。如果你不需要自動(dòng)優(yōu)化進(jìn)程,你可以前往雅虎的smush。它提供手動(dòng)壓縮PNG服務(wù)。上面是一個(gè)雅虎smush使用樣例。它起作用了。5.忘記脫掉圖片meta數(shù)據(jù)許多現(xiàn)代網(wǎng)站允許訪問(wèn)者上傳照片。無(wú)論它是用戶的輪廓圖還是近期旅行的共享照片,這些都帶有現(xiàn)代相機(jī)的原始信息,很可能引入許多meta信息到照片中。meta數(shù)據(jù)在EXIF/IPTC格式中,包含大量的相機(jī)和照片信息,包括相機(jī)型號(hào)、日期和時(shí)間信息、光圈、快門速度、焦長(zhǎng)、測(cè)光模式、ISO、全球定位和許多其他信息片段。大多數(shù)情況下,脫掉meta信息都是一個(gè)很棒的主意。對(duì)于隱私保護(hù)和減少文件尺寸來(lái)說(shuō)都很好。不幸的是,我們很少看到開發(fā)者花時(shí)間清除meta信息,這增加了帶寬同時(shí)也損害了用戶的瀏覽體驗(yàn)。怎么破:確保你清除了你的圖片以及用戶上傳的照片中的meta信息。如果這些信息是必要的,確保它的可用范圍,而不是作為你的圖片的一部分。提示:即使圖片的meta信息對(duì)你的網(wǎng)站來(lái)說(shuō)不是必須的,但是有一個(gè)信息片段,那就是圖片的原始攝影方向,對(duì)于正確顯示照片來(lái)說(shuō)是很關(guān)鍵的。當(dāng)清除Exif信息時(shí),要確保你在Exif信息基礎(chǔ)上將圖片旋轉(zhuǎn)到了正確的方向。6.直接從服務(wù)器發(fā)表圖片一旦你的網(wǎng)站內(nèi)容就位了,你的下一個(gè)目標(biāo)就是確保你的所有網(wǎng)站圖片盡可能快的分發(fā)給你的訪問(wèn)者。在Cloudinary中,一個(gè)最常見的網(wǎng)站問(wèn)題是,開發(fā)者在他們自己的服務(wù)器中存儲(chǔ)圖片,而且通常和他們的網(wǎng)站在同一機(jī)器上。這里發(fā)生了兩件事:第一,你的服務(wù)器忙著發(fā)表圖片而不是專注于發(fā)表你的獨(dú)一無(wú)二的網(wǎng)站內(nèi)容;第二,你錯(cuò)過(guò)了最驚人的圖像分發(fā)解決方案之一——內(nèi)容分發(fā)網(wǎng)絡(luò)(ContentDeliveryNetworks)。如何解決:內(nèi)容分發(fā)網(wǎng)絡(luò)是很容易使用的服務(wù),它管理者你網(wǎng)站的圖片,比你網(wǎng)站自身管理這些圖片的發(fā)布要快很多.CDN依賴于遍布于全世界的超大數(shù)量的服務(wù)器,或者說(shuō)"邊界".當(dāng)訪問(wèn)者瀏覽你的網(wǎng)站是,它們會(huì)自動(dòng)路由到最近的邊界文職,這樣圖片就能以及盡可能快的速度發(fā)布,大幅減少延遲.CDN依據(jù)所需的帶寬收費(fèi),稍微比主機(jī)服務(wù)商的帶框比較貴,不過(guò)如今的CDN價(jià)格已經(jīng)實(shí)惠到相當(dāng)值得一用.有許多CDN服務(wù)提供商可供選擇.只要注冊(cè)就能開始享受其好處.Amazon的CloudFront算是一個(gè)好的開始.7.靜態(tài)圖標(biāo)單個(gè)分開傳送除了圖片和縮略圖之外,網(wǎng)站還有圖標(biāo)和輔助圖像(auxiliaryimage).Logo,箭頭,星形,符號(hào),標(biāo)志,這些都能提高網(wǎng)站的用戶體驗(yàn).組成按鈕,陰影,邊框的圖片片段,以及其他圖片片段,可以讓你根據(jù)美工的要求,動(dòng)態(tài)創(chuàng)建各種部件(widget).一個(gè)網(wǎng)站的小圖片多到你無(wú)法相信.拿Google的搜索結(jié)果頁(yè)面來(lái)說(shuō).你要是經(jīng)常Google,可能對(duì)它的簡(jiǎn)潔界面還有印象。幾乎看不到圖標(biāo),對(duì)吧?大錯(cuò)特錯(cuò)。Google搜索結(jié)果頁(yè)面的小圖標(biāo)80個(gè)都不止(!)開發(fā)者會(huì)犯的一個(gè)普遍錯(cuò)誤就是把這些小圖標(biāo)原樣嵌入到他們的網(wǎng)站中。瀏覽器需要花在下載如此多圖片的時(shí)間是相當(dāng)多的。下載一張圖片時(shí),我們作為訪問(wèn)者需要忍受網(wǎng)絡(luò)延遲之苦,而因?yàn)橐话愕臑g覽器平均只支持同時(shí)下載不超過(guò)6張圖片,所以延時(shí)還要乘以圖片的下載批次。你的訪問(wèn)者將需要等待他們的瀏覽器完成對(duì)所有這些圖片的下載,而你的web服務(wù)器可能會(huì)因?yàn)橐獞?yīng)對(duì)如此多的下載請(qǐng)求而變得無(wú)法響應(yīng)。你的訪問(wèn)者甚至可能會(huì)放棄等待,轉(zhuǎn)而繼續(xù)他們?nèi)粘5臑g覽活動(dòng)。如何修復(fù):一個(gè)簡(jiǎn)單的解決方案是使用CSSSprite(CSS精靈),一個(gè)單一的圖像包含你所有的小圖標(biāo)。你的網(wǎng)頁(yè)從你服務(wù)器上的這個(gè)單一圖片上被下載和修改,并且頁(yè)面的HTML使用了可替代的CSS類名去指向大圖片內(nèi)部的小圖片?,F(xiàn)在,代替80張圖片,谷歌的訪問(wèn)者下載的僅僅是一個(gè)單一的圖像。他們的瀏覽器將會(huì)快速下載并緩存這些從谷歌服務(wù)器上的單一圖片,并且所有的圖片將會(huì)立即呈現(xiàn)。8.在可以使用CSS3的時(shí)候使用圖片當(dāng)我們把一個(gè)網(wǎng)站的設(shè)計(jì)轉(zhuǎn)換成HTML元素的時(shí)候,許多開發(fā)者仍然將按鈕設(shè)計(jì)成圖片式的。因?yàn)榕f的瀏覽器不支持使用CSS來(lái)實(shí)現(xiàn)陰影,圓弧角,和特殊字體,開發(fā)者在過(guò)去習(xí)慣了使用小圖片來(lái)實(shí)現(xiàn)上述的特性,亦即基于圖片的方案。不幸的是,這種解決方案需要大量的圖片,最終損害了瀏覽者的體驗(yàn),并且也很難管理,增加了開發(fā)所需的時(shí)間和成本(想想如何更改一個(gè)圖片中嵌入的文字)?,F(xiàn)代瀏覽器支持使用簡(jiǎn)單的CSS來(lái)實(shí)現(xiàn)陰影,圓角矩形和特殊字體。然而,我們?nèi)匀豢吹皆S多網(wǎng)站依舊在使用基于圖片的按鈕。這是一類常見的錯(cuò)誤。例如,看著這部分CNN的按鈕——這一小技巧是一張能夠很容易的使用簡(jiǎn)單的CSS指令來(lái)實(shí)現(xiàn)的61KB圖片,提升加載時(shí)間和用戶體驗(yàn)的同時(shí)降低貸款消耗.如何解決:無(wú)論何時(shí)確保盡可能使用CSS3.如果你的圖形設(shè)計(jì)師能提供基于CSS3的元素可供使用.如果你想要支持老版本的IE,你也應(yīng)該確保你的界面能優(yōu)雅的降級(jí)到至少能保證設(shè)計(jì)的功能可用(盡管不能完美的顯示出原來(lái)的效果),或者選擇一種像CSS3PIE這樣的CSS3仿真方案.9.錯(cuò)誤的圖片緩存設(shè)置一般你的網(wǎng)站圖片文化很少改變。HTTP緩存指令可以讓訪問(wèn)者的瀏覽器將這些圖片緩存起來(lái),任何其他的服務(wù)都可以這么干(CDN、proxies等等)。一旦圖片被緩存,在今后訪問(wèn)你的網(wǎng)站的時(shí)候?qū)?huì)使用緩存而不是一遍又一遍的下載。正確的緩存設(shè)置通過(guò)減少頁(yè)面載入時(shí)間來(lái)提高用戶體驗(yàn),同時(shí)也減少你的網(wǎng)站帶寬而減少花費(fèi)。不幸的是,我見到許多案例都沒(méi)有正確的利用好緩存。最常見的是,對(duì)于更新圖片時(shí)漫長(zhǎng)的緩存設(shè)置的擔(dān)心,因?yàn)樗麄冋J(rèn)為網(wǎng)站訪問(wèn)者會(huì)看到舊的圖片而不是新的圖片。這個(gè)看似棘手的情況可以通過(guò)添加一個(gè)指紋(MD5、時(shí)間戳等)到圖像URL來(lái)輕松地避免。通過(guò)添加一個(gè)指紋到圖像的URL你可以知道圖像何時(shí)變化了,已經(jīng)它的URL。當(dāng)URL變化時(shí),瀏覽器會(huì)強(qiáng)制重新讀取圖像。目前的Web開發(fā)平臺(tái)能夠自動(dòng)給所有的圖片添加這樣一個(gè)指紋,從源頭上解決這個(gè)問(wèn)題。如何解決:我們強(qiáng)烈建議對(duì)全站的圖片積極使用緩存,如果可以的話設(shè)置圖片的'Expires'HTTP頭。除了圖像URL的指紋之外,這樣可以立即提升你網(wǎng)站的性能。10.在所有的輸送介質(zhì)中使用相同的圖像尺寸你的網(wǎng)站正被許多不同的設(shè)備瀏覽。近年來(lái),隨著手機(jī)和平板電腦用戶量的崛起,看一下你網(wǎng)站的流量分析,其顯示了來(lái)自這里設(shè)備訪客量的大幅上升。網(wǎng)站是否有移動(dòng)訪客,或者你是否打算為你的網(wǎng)站內(nèi)容提供一個(gè)移動(dòng)版本,你還剩一個(gè)決定——如何發(fā)送圖像,移動(dòng)設(shè)備上的相同圖像但在臺(tái)式機(jī)分辨率就太低了。我們常看到開發(fā)者們圖省事,即為不同備的分辨率提供相同的圖像,在客戶端縮放圖像。盡管圖像看起來(lái)效果很好,但用戶在加載大尺寸圖像上浪費(fèi)了時(shí)間,你也要支付額外的帶寬費(fèi)用。這對(duì)3G用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論