很多人经常遇到图表在主流浏览器上运行正常,在低版本IE(包括IE6、IE7、IE8等)下运行出错(图表显示不出来或显示不正常)的情况,这不是兼容性问题,而是 IE 浏览器自身的一些限制,我们只需要注意一些事项即可避免这种情况。
注意事项:
1、使用合适的HTML 文档模式
html 文档模式指的是文件的第一行 <!DOCTYPE>
在低版本 IE 中请使用 HTML 4 严格模式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2、多余逗号
IE 对 JavaScript 语法要求比较严格,数组或对象的最后一项有多余逗号时会报错,例如
$('#container').highcharts({ series: [{ data: [2, 4, 5, 7, 9] },{ data: [{ x: 20, y: 2323, // 这里多余的逗号会导致在低版本 IE 下报错 }] }] });
3、禁用 IE 安全模式
另外一个导致 Highcharts 在IE上显示不正常的常见问题是 IE的安全模式,这种情况一般发生在用作服务器的浏览器上(本地ok,在服务器上的IE访问则不行,例如在 Window Server 2008的电脑上),避免这种情况的方法是禁用 IE 安全模式,设置如下:
IE 浏览器 —》 “工具” —》“Internet 选项” —》“安全”
将安全级别调到最低并去掉“ 启用保护模式”勾选。
4、不要使用太高版本 jQuery
高版本jQuery 对IE兼容性不好,我们推荐使用 jQuery 1.8.3
小技巧
在html head 部分加如下代码可以让 IE 使用兼容性模式,这样可以让IE 尽可能以最高模式渲染文档。
<meta http-equiv="X-UA-Compatible" content="IE=edge">
个人总结
1.IE7 的javascript对象解析不如其他浏览器,所以导致图标显示不出来。
2.
后台json数据封装格式必须满足json规范,逗号,单引号
问题
3.时间要进行转化为毫秒数