Как заставить IE6 отображать встроенные изображения в кодировке base64?
<img src="data:image/png;base64,....." />
Это работает в Firefox/Chrome/Safari, но не в IE6.
Как заставить IE6 отображать встроенные изображения в кодировке base64?
<img src="data:image/png;base64,....." />
Это работает в Firefox/Chrome/Safari, но не в IE6.
Мое решение работает гладко на 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>
!
, а затем добавлять к местоположению (точно так же, как #
указывает заданное местоположение узла DOM в документе HTML).
- person Barney; 15.09.2012
Установить Google Chrome Frame?
Серьезно, ты не можешь. IE6 не поддерживает встроенные изображения base64.
IE6 нуждается в выражении для правильной интерпретации изображений, закодированных по основанию 64. Дин Эдвардс описывает решение здесь: http://dean.edwards.name/weblog/2005/06/base64-sexy/
Примечание: это очень уродливый хак. Во-первых, мы помещали код изображения в наш CSS; с этим решением вам нужно либо поместить презентационные данные в Javascript, либо поведенческие данные в свой CSS. Неприятно, но необходимо.
изображения 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>
Если это не корпоративная настройка, я бы посоветовал вообще отказаться от поддержки IE6 и попросить людей установить Chrome Frame, если они настаивают на использовании такого устаревшего браузера.
Вы можете использовать base64 в CSS, по крайней мере. Пожалуйста, посмотрите: http://www.phpied.com/mhtml-when-you-need-data-uris-in-ie7-and-under/
Возможно, дополнительные исследования могли бы помочь использовать mhtml:// и для встроенных изображений.
Это может быть быстрым решением, чтобы изображения Base64 снова отображались в IE6:
исправление изображения Base64 для Internet Explorer< /а>
*Извините за неработающую ссылку, теперь правильная!
Я думаю, что это ненавязчивый способ заставить все снова работать. Он фактически восстанавливает изображения после того, как эти поврежденные изображения (сломанный значок) уже отображаются в IE.
ОРИГИНАЛ
Я не верю, что IE6 поддерживает встроенные данные для тега <img/>
. Однако вы можете попробовать другой формат, например GIF или JPG.
EDIT Учитывая тот факт, что IE потребовалась целая вечность для точной поддержки PNG (все еще спорный), можно легко сделать вывод, что PNG может не поддерживаться в качестве встроенного формата данных для тегов <img/>
. С учетом сказанного перейдите к **ORIGINAL**