我希望能够输出一个包含图像的 HTML 文件(在文件本身内)。通过谷歌搜索,我遇到了几种方法来做到这一点:
javascript:imageData
- 数据 URI,例如
<IMG SRC="data:image/gif;base64,[...]">
<object ... >
标记(虽然这使用数据 URI,因此可能继承相同的限制)
但我不知道浏览器更好地支持哪个,或者是否有其他选择。
有这方面实际经验的人可以给我建议吗?谢谢。
我希望能够输出一个包含图像的 HTML 文件(在文件本身内)。通过谷歌搜索,我遇到了几种方法来做到这一点:
javascript:imageData
<IMG SRC="data:image/gif;base64,[...]">
<object ... >
标记(虽然这使用数据 URI,因此可能继承相同的限制)但我不知道浏览器更好地支持哪个,或者是否有其他选择。
有这方面实际经验的人可以给我建议吗?谢谢。
关于浏览器支持,来自维基百科:
以下 Web 浏览器当前支持数据 URI:
IE 无法<object>
正确处理标签,请参阅此处了解更多详细信息。简而言之,您不能相信 IE 会显示其中的图像。
javascript:imageData
也没有得到很好的支持,因为它被用于许多跨站点脚本攻击。
There are many discussions of this on the web, and they all come to the conclusion that there is no good universal way to embed images. If you only need to support a subset of browsers, the data uri may work, or a combination of data uri and javascript.
imageData 更灵活,例如某些 ie 将数据 uris 限制为 32k。
除了 8 版之前的 Internet Explorer 之外,数据 URI 方案得到了很好的支持。
我认为 JavaScript URI 的支持稍微好一些,但如果 JS 不可用,则会失败。
您能做的最好的事情就是坚持使用外部图像资源。
数据 URI 在 < IE8 中不起作用。IE8 最多支持 32KB。