Base64(二进制)图片编码解析及在各种浏览器的兼容性处理

前端之家收集整理的这篇文章主要介绍了Base64(二进制)图片编码解析及在各种浏览器的兼容性处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

IE浏览器目前最高的版本是v11,而微软放弃了IE,转向新的浏览器开发,并取名为Edge。base64图片在IE9及以后的图片均能显示没有问题,而Firefox,Chrome,Safari等非IE浏览器都能正常显示,所以显得IE浏览器比较low。那么兼容性究竟应该怎么来处理呢? 分三种情况。

(1)IE9+、Firefox、Chrome、Safari等浏览器

base64图片在HTML里的标准写法是:

javascript给img元素的src属性赋值或是给其他元素的backgroundImage属性赋值都可以正确的显示图片。 其格式为 data:{mimeType};base64,[code] {mimeType}是指图片的格式类型,一般来说,JPG文件填写image/jpeg, GIF文件填写image/gif, PNG文件填写 image/png。 [code]是指图片二进制转换成base64的字符串。

(2)IE6、IE7浏览器

低版本的IE浏览器不支持img的src属性用data:image/jpeg这样写,但是我们可以使用mhtml调用附件资源的形式来处理图片。格式如下:

(3)IE8浏览器

ie8浏览器分两种情况。一种是在XP下ie6升级到ie8,另一种是Win7自带的ie8。两者的区别是XP下的ie8不支持javascript直接将backgroundImage赋值为base64值。但是Win7下是可以的。

如何兼容

代码上我们使用UserAgent里的Trident和Windows NT版本来确认ie8在何种情况使用:

A.当NT版本是NT 5.x并且Trident没现出现的时候,判定为xp下的ie6和ie7,执行第2种情况;

B.当NT版本是NT 5.x并且Trident 4.0的时候,判定为xp下的ie8,执行第2种情况;

C.当NT版本是NT 6.x时,为win7、win8、win10系统,执行第1种情况;

D.都不是时,就是非IE流览器,执行第1种情况

base64<a href="https://www.jb51.cc/tag/tupian/" target="_blank" class="keywords">图片</a>兼容性测试

猜你在找的JavaScript相关文章