Data:URL 圖片
圖片是頁面中比不可少的元素,通過圖片可以讓頁面更加美觀,也讓某些功能更加醒目。
本站(螞蟻部落)對圖片的應用隨處可見,否則會嚴重影響使用者體驗。
通常,將圖片放置於伺服器指定位置,然後使用路徑引用。
程式碼片段如下:
[HTML] 純文字檢視 複製程式碼<img src="image/img.gif ">
通過 <img> 標籤可以引入一個圖片元素,下面對其做進一步的分析:
(1).src 屬性值是圖片在伺服器的路徑,可以是相對路徑也可以是絕對路徑。
(2).當頁面載入到 <img> 標籤位置時,向伺服器發起一次 http 請求。
(3).最後得到這個 http 請求的響應,獲取此圖片。
(4).發起 http 請求和從伺服器載入圖片需要消耗一定的效能,尤其是這樣的請求較多的時候。
關於路徑更多知識可以參閱相對路徑和絕對路徑一章節。
使用 Data:URL 方式引入圖片可以有效的避免上述效能問題,簡單演示如下:
[HTML] 純文字檢視 複製程式碼<img src="data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7">
程式碼分析如下:
(1).將圖片轉換為為 base64 字串格式。
(2).然後通過 Data:URL 方式將其插入到HTML頁面中。
省去了向伺服器發起請求的步驟,在一定程度上提高了效能。
特別說明:可以直接將src中的字串複製到瀏覽器位址列檢視對應的圖片內容。
瀏覽器支援:
(1).IE8不完全支援,IE9+完全支援。
(2).edge 瀏覽器支援此方式。
(3).谷歌瀏覽器支援此方式。
(4).opera 瀏覽器支援此方式。
(5).火狐瀏覽器支援此方式。
(6).Safari 瀏覽器支援此方式。
根據其所具有的特點,可以將其應用到更為恰當的場景。
如下幾種場景推薦使用 Data:URL 引入圖片:
(1).圖片較小,且較多,每次都發起一次 http 請求會非常消耗效能。
(2).動態方式生成的圖片,且每次生成的圖片都不相同。
此種方式當前也具有一些缺點,總結如下:
(1).將圖片進行 base64 編碼之後,體積會明顯增大。
(2).圖片不會被快取,這是一個很大的問題,快取機制可以有效的提高效率。
不過也有一些技巧可以解決快取問題,首先看一段簡單程式碼例項:
[CSS] 純文字檢視 複製程式碼background-image: url("image/img.gif")
上面程式碼可以為指定元素引入一張背景圖片,背景圖片可以很輕鬆進行快取,如果換做是Data:URL方式的話,圖片無法被快取,但是可以將CSS檔案快取器來,以達到快取圖片大致相同的效果。
Data:URL方式不僅僅可以表示圖片,也可以是其他內容,本文不做過多介紹。
特別說明:HTTP2廣泛應用之後,此方式引入圖片的優點就沒有那麼明顯,更多內容參閱HTTP協議版塊。
相關文章
- url 生成二維碼圖片
- webpack:url-loader 圖片路徑問題Web
- background: url([object Module]);背景圖無法載入url-loader壓縮圖片配置問題Object
- base64 , blob,url圖片的處理方式
- SDWebImage支援URL不變時更新圖片內容Web
- CSDN圖片如何手動關閉水印 / 如何改變水印的樣式——CSDN圖片URl分析
- python 爬蟲之requests爬取頁面圖片的url,並將圖片下載到本地Python爬蟲
- app直播原始碼,Vue獲取URL圖片的寬高APP原始碼Vue
- css Cursor:url()自定義滑鼠指標樣式為圖片CSS指標
- 直播軟體原始碼,Vue獲取URL圖片的寬高原始碼Vue
- 通過url動態獲取圖片大小方法總結
- SDWebImage載入圖片的URL是同一個(如何處理)Web
- data型別的Url格式:把小資料直接嵌入到Url中型別
- angular4 上傳本地圖片,將拿到的files轉化為url地址,提示sanitizing unsafe URL valueAngular地圖
- Laravel-admin修改圖片上傳時存入資料庫的URLLaravel資料庫
- 使用 jquery.qrcode.js 生成網站地址url二維碼圖片jQueryJS網站
- 專案效能優化之用url-loader把小圖片轉base64,大圖片使用image-webpack-loader壓縮優化Web
- Android開發教程 - 使用Data Binding(七)使用BindingAdapter簡化圖片載入AndroidAPT
- C# .NET 根據Url連結儲存Image圖片到本地磁碟C#
- 圖片抓取_千圖網圖片抓取
- 圖片平滑 圖片增強
- url-loader不能處理html中引入的圖片問題的解決方案HTML
- 根據URL引數返回不同大小的圖片這種方式消耗大不大,還是直接提前生成不同尺寸的圖片好?
- 圖片
- 獲取演出詳情資料的圖片 url 根據要求組合後重復替換詳情裡的對方 url
- 開源圖片工具箱(Img Toolbox) 格式轉換 新增水印 圖片壓縮 圖片裁剪 圖片旋轉 圖片縮放
- 圖片上傳及圖片處理
- 直播系統搭建,插入圖片、刪除圖片、設定圖片大小
- python批量ppt轉圖片,pdf轉圖片,word轉圖片指令碼Python指令碼
- SAP Data Intelligence Graph使用瀏覽器訪問的url規範Intel瀏覽器
- 【學習圖片】1.圖片簡史
- 響應式圖片(自適應圖片)
- AI圖片AI
- 剪裁圖片
- 從CSV檔案中讀取jpg圖片的URL地址並多執行緒批量下載執行緒
- 【學習圖片】10.響應式圖片
- vue 上傳圖片進行壓縮圖片Vue
- 【前端】壓縮圖片以及圖片相關概念前端