Highcharts 兼容性

优质
小牛编辑
138浏览
2023-12-01

Highcharts 系列软件支持 IE6 及以上的所有主流浏览器,完美支持移动端缩放、手势操作。

在线实例测试 下载实例进行测试 注意事项

以下是我们对 Highcharts、Highstock、Highmaps 进行兼容性测试的结果及相关内容。

Highcharts 7

Highcharts 7 在 Highcharts 6 的基础上进一步将低版本浏览器相关函数的兼容包独立成一个文件,即 oldie-polyfills.js

http://cdn.highcharts.com.cn/highcharts/modules/oldie-polyfills.js

该文件里包含的 polyfills 有

  1. Array.forEach
  2. Array.map
  3. Array.indexOf
  4. Array.filter
  5. Array.some
  6. Array.reduce
  7. Object.keys

这些函数是低版本 IE 浏览器不支持的新函数,如果您没有自己添加相关的 polyfill,那么就需要添加这个文件了。

<!--[if lt IE 9]>
<script src="http://cdn.highcharts.com.cn/highcharts/modules/oldie-polyfills.js"></script>
<![endif]-->
<script src="http://cdn.highcharts.com.cn/highcharts/highcharts.js"></script>
<!--[if lt IE 9]>
<script src="http://cdn.highcharts.com.cn/highcharts/modules/oldie.js"></script>
<![endif]-->

Highcharts 6

从 Highcharts 6.0.0 开始,我们将兼容低版本 IE 的代码单独成一个模块文件,这样用户可以根据需求是否加载对应的文件,可以减少在主流浏览器上加载代码的大小,推荐以下面形式加载这个文件:

<script src="https://cdn.highcharts.com.cn/highcharts/highcharts.js">
<!-- 其他 Highcharts 需要的文件 -->

<!--[if lt IE 9]>
<script src="https://cdn.highcharts.com.cn/highcharts/modules/oldie.js"></script>
<![endif]-->

Nodejs

Highcharts 4.2.0 起支持 CommonJS 模块标准,即你可以在支持 CommonJS 环境中使用 Highcharts。

详细参考:通过 Npm 安装 Highcharts

JavaScript 框架

对于低版本浏览器(IE6、IE8等)我们支持 jQuery 1.6+,主流浏览器(新版 Chrome、Firefox等)支持 jQuery 2.0+

浏览器版本

我们在很多最新版浏览器上测试我们的软件,考虑到 IE 用户一般不愿意升级更新浏览器,我们还系统的测试过旧版本浏览器,Highcharts 可以正常在如下版本的浏览器中运行:

浏览器品牌支持的版本
Internet Explorer6.0 +
Firefox2.0 +
Chrome1.0 +
Safari4.0 +
Opera9.0 +
iOS (Safari)3.0 +
Android 浏览器2.0 + *)

*) Android 2.x(andorid 2.x 最后一版是在 2010年12月发布的,目前已经很少使用了)有部分限制,详见 Android 2.x

对于其他的 JavaScript 框架,其他未测试的版本可能会运行正常

渲染引擎及性能

不同的浏览器支持不同的图形渲染技术, 在现代主流的浏览器上我们用 SVG 进行图形渲染,在低版本 IE 中,我们则使用 VML 技术。下面的表格展示了不同浏览器使用的渲染引擎及性能:

浏览器版本渲染技术渲染性能
Internet Explorer 9SVG非常快
Internet Explorer 8VML
Internet Explorer 7VML
Internet Explorer 6VML
FirefoxSVG非常快
ChromeSVG非常快
SafariSVG非常快
OperaSVG非常快
iOS SafariSVG
Android 3+SVG
Android 2.xCanvas

Android 2.x

Android 2.x 没有提供对 SVG 支持, 针对 Android 2.x,我们创建了基于 canvg 的独立渲染引擎,它有如下限制:

  • 不建议在 Android 2.x 上使用 Highstock,因为 Highstock 依赖大量的缩放及鼠标交互;
  • 共享的数据提示框一直是启用的。
  • 在第一次渲染的时候,独立渲染引擎及相关的依赖文件(合并在一起的 canvg renderer + rgbcolor.js + canvg.js) 将会从 code.highcharts.com 下载,这个链接可以通过全局属性 global.canvasToolsURL 来指定;
  • 图表及数据列动画关闭;
  • 通过图例来进行数据里的显示与隐藏无效;
  • 数据列及数据点触摸事件无效;
  • 缩放无效;
  • 使用渲染引擎添加图形元素相关的接口无效