“如何將16進位碼流在html中顯示為圖片”相容多個瀏覽器的方案。

來源:互聯網
上載者:User

原帖:如何將16進位碼流在html中顯示為圖片

新的瀏覽器(ff3、ie8、chrome)img標籤支援,如: <img src="data:image/png;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/
//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U
g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC"/>的格式,可以指定編碼

這個文章樓主已經結了,但解決方案並不理想,不支援ie6、ie7而使用這個兩個版本的瀏覽器使用者量不小。

我們知道ie可以將html打包儲存為一個mht檔案,這個檔案包括了指令碼和圖片,用記事本開啟,裡面就是採用base64編碼的文本
如:

------=_NextPart_000_0000_01CA69C7.3AF566D0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://xxx.com/blank.gif
R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

用ie開啟該頁面,查看 <img> src為“mhtml:file://x:/xxx/xxx.mht!http://xxx.com/blank.gif”

ie採用了mhtml協議,訪問該資源

那另一條路就這樣被發現了!

測試的步驟

1、將file改成http是否成功?
2、將mht副檔名改名為html是否成功?
3、將base64字元放在 <!---->注釋區是否成功?
4、合并,多個瀏覽器測試是否成功?

感謝ccav,一切順利


效果頁:http://renrousousuo.com/scripts/csdn_logo.html

這貼應該多散點分。

最終原始碼(logo太大,換成小圖):

------=_NextPart_000_0000_01CA9F59.AFB45FE0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: logo.gif

iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/
//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U
g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC!
-->

<img
src="data:image/gif;base64,
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/
//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U
g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC

"
onerror
="src='mhtml:' + document.location.href + '/scripts/csdn_logo.html!logo.gif';"/>



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.