如何让IE6显示内联base64编码图像?
<img src="data:image/png;base64,....." />
这适用于Firefox / Chrome / Safari,但不适用于IE6。
答案 0 :(得分:13)
我的解决方案在IE6上顺利运行。它可能对你有帮助!
<!--
Content-Type: multipart/related; boundary="=_data-uri"
-->
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#pic {
width:670px;height:710px;
background-image: expression("url(mhtml:" + window.location + "!locoloco)");
}
</style>
</head>
<body>
<div id="pic" ></div>
<div id=test style="display: none;">
--=_data-uri
Content-Location:locoloco
Content-Transfer-Encoding:base64
iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8 /w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
--=_data-uri--
</div>
</body>
</html>
答案 1 :(得分:6)
安装Google的Chrome Frame?
说真的,你做不到。 IE6不支持base64内嵌图像。
答案 2 :(得分:4)
IE6需要一个表达式来正确解释base 64编码图像。 Dean Edwards在此处描述了解决方案:http://dean.edwards.name/weblog/2005/06/base64-sexy/
注意:这是一个非常难看的黑客。首先,我们将图像代码放入CSS中;使用此解决方案,您需要将表示数据放在Javascript中,或者将行为数据放入CSS中。讨厌但必要。
答案 3 :(得分:2)
base64图像显示在IE6和IE7中...在最后我发现了一个简单的解决方案,当你在css中使用编码图像时。
“在同一个类中写两个属性。使用css浏览器特定黑客”
我将在下面解释。
<div class="myClass"> </div>
<style>
.myClass{
background=url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAHCAYAAADam2dgAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAySURBVHjaYlSdd/4/AwQwQml0PgMTHsn/yIoYCCmEKcKrEFkRTrcxEVIAs46g7wACDACraA+g90OOjwAAAABJRU5ErkJggg%3D%3D');
/* Above property will work for all browsers*/
*background=url('give real path_to_image');
/* This will work only for ie6 and ie7 */
}
</style>
答案 4 :(得分:1)
如果这不适用于公司设置,我会说只是放弃IE6支持,并让人们安装Chrome Frame,如果他们坚持使用这样一个过时的浏览器。
答案 5 :(得分:1)
至少可以在CSS中使用base64。 请看一下:http://www.phpied.com/mhtml-when-you-need-data-uris-in-ie7-and-under/
也许更多的研究可能有助于使用mhtml://为内联图像。
答案 6 :(得分:0)
这可能是一个快速修复,使Base64图像再次显示在IE6中:
Base64 image fix for Internet Explorer
*对不起,链接断了,现在是正确的!
我认为这是让事情再次发挥作用的非侵入性方式。它实际上是在你已经在IE上显示那些破碎的图像(破碎的图标)后修复图像。
答案 7 :(得分:-1)
<强>原单强>
我不相信IE6支持<img/>
标记的内嵌数据。但是,您可能想尝试其他格式,如GIF或JPG。
修改强>
鉴于IE永远需要准确支持PNG(仍有争议),人们可以很容易地推断出PNG可能不被支持为<img/>
标签的内联数据格式。话虽如此,转到**ORIGINAL**