我希望能够输出包含图像的HTML文件(在文件本身内)。通过谷歌搜索,我遇到了几种方法:
javascript:imageData
<IMG SRC="data:image/gif;base64,[...]">
<object ... >
标记(虽然它使用数据URI,因此可能会继承相同的限制)但我不知道浏览器支持哪个更好,或者还有其他选择。
任何有实际经验的人能为我提供建议吗?感谢。
答案 0 :(得分:8)
关于浏览器支持,来自Wikipedia:
目前支持数据URI 以下网络浏览器:
IE无法正确处理<object>
标记,有关详细信息,请参阅here。简而言之,您无法信任IE从中显示图像。
javascript:imageData
也得不到很好的支持,因为它被用于许多跨站点脚本攻击。
this上有web的许多讨论,他们都得出结论,没有很好的通用方法来嵌入图像。如果您只需要支持一部分浏览器,数据uri可能有效,或者数据uri和javascript的组合。
答案 1 :(得分:1)
imageData更灵活,例如某些ie将数据uris限制为32k。
答案 2 :(得分:1)
除了版本8之前的Internet Explorer之外,数据URI方案得到了很好的支持。
我认为JavaScript URI稍微好一些,但如果JS不可用则会失败。
你能做的最好的事情就是坚持使用外部图像资源。
答案 3 :(得分:0)
数据URI不适用于&lt; IE8。 IE8最多支持32KB。