原帖:如何將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';"/>