Internet Explorer和Base64图像显示

时间:2012-04-15 04:28:32

标签: javascript base64

为了使用Javascript更容易地在客户端操作各种图像,我在服务器端(在VB 2010中)编写了一个函数,将文件转换为我发送给客户端的base64字符串。

当我在Internet Explorer 8.0中尝试3个不同的图像,1个肖像和2个风景时,我意识到只有肖像图像被完全显示,同时两个风景图像都被截断了(我只能看到图像的上半部分) )。

我认为我的转换功能存在错误,直到我使用Firefox尝试本地页面:Firefox完美显示每个图像。

所以我的问题是:这是一个众所周知的Internet Explorer错误吗?如果答案是肯定的,对于那个众所周知的错误,是否有一个众所周知的补救措施?

2 个答案:

答案 0 :(得分:14)

IE8只能执行最大32kb的Base64 URI映像。这是一个令人讨厌的限制,但你仍然可以使用图标/等。请记住,无论如何,Base64编码的图像在管道上传输的数据平均要多33%,所以它......呃,你知道,用你的判断。

对于任何有兴趣的人,也可以在IE6 / 7中进行这些工作(没有,我可以补充说,32kb限制......):http://venodesigns.net/2010/06/17/you-got-your-base64-in-my-css/

答案 1 :(得分:4)

IE8限制为32KB。解决这个问题的一种方法是在“瓷砖”中提供图像,其中每个瓷砖的小于32KB。