Internet Explorer 和 Base64 图像显示

Internet Explorer and Base64 image display

本文关键字:图像 显示 Base64 Explorer Internet      更新时间:2023-09-26

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

当我在 Internet Explorer 8.0 中使用 3 张不同的图像、1 张纵向和 2 张横向图像时,我意识到只显示完全显示纵向图像,同时两个横向图像都被截断(我只能看到图像的上半部分)。

以为我的转换功能有一个错误,直到我尝试使用Firefox的本地页面:每个图像都被Firefox完美地显示。

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

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

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

IE8 限制为 32KB。解决此问题的一种方法是仅在每个磁贴小于 32KB 的"磁贴"中提供图像。