ie能直接显示svg图,但放在echarts里的svg不显示
找到一些类似问题,但没找到具体原因
https://github.com/apache/incubator-echarts/issues/10884
因此选择直接判断浏览器类型,若是ie就返回png图片
之前,js判断的方式都是利用浏览器的useragent字段。通过判断useragent字段里面是否包含有MSIE字段来判断是否是IE系列浏览器。但是在IE11之后,微软把自家的IE革命了,IE11里面的useagent没有MSIE字样。
IE 11的userAgent为:"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Shuame; rv:11.0) like Gecko"。明显之前根据MSIE的方式来判断,对IE11是失效的。
if(!!window.ActiveXObject || "ActiveXObject" in window)
1.IE10及以下,window.ActiveXObject 返回一个对象,!window.ActiveXObject则变为false,!!window.ActiveXObject则为true
2.IE11中,window.ActiveXObject返回undefine,!window.ActiveXObject则变成了true,!!window.ActiveXObject则变成了false,进入 "window.ActiveXObject" in window判断,该判断条件在IE11下返回true。
3.其他非IE浏览器,如chrome,firefox,window.ActiveXObject都是undefine,而 "window.ActiveXObject" in window也是返回false
原文链接:https://blog.csdn.net/whupanyinghua/article/details/38026027