javascript – HighCharts.js不是在IE8下呈现图表

前端之家收集整理的这篇文章主要介绍了javascript – HighCharts.js不是在IE8下呈现图表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用HighCharts与 Python一起动态创建图表.一切工作正常,但是我无法读取IE8下的未定义异常的属性“0”.不幸的是,我的客户也希望它在IE8下工作.所以他的主要功能代码
  1. function generateChart(series) {
  2. var chart = new Highcharts.Chart({
  3. chart: {
  4. renderTo: 'company_chart',},xAxis: {
  5. type: "datetime",yAxis: [{
  6. title: {
  7. text: "T1",{
  8. title: {
  9. text: "T2",opposite: true,}],plotOptions: {
  10. series: { shadow: false },column: { shadow: false,series: series
  11. });
  12. );@H_403_3@
  13. 现在我的ajax请求返回一些数据,并将其存储在变量中:

  14. chart_data = [
  15.     {
  16.         type: "spline",color: '#ff0000',yAxis: 0,data: dataT1,{
  17.         type: "column",color: '#0000ff',yAxis: 1,data: dataT2,}
  18. ];@H_403_3@ 
  19.  

    之后我调用generateChart(chart_data);.变量dataT1dataT2的格式很好,因为它在每个其他浏览器下工作.例如,dataT1可能如下所示:

  20.   
  21.  
    dataT1 = [ [1325721600000,1.64],[1325635200000,[1325548800000,1.7],[1325462400000,];@H_403_3@ 
  22.  

    IE8下仍然抛出异常.任何想法如何解决这个问题?

解决方法

那些悬挂的逗号在Internet Explorer中导致错误.摆脱它们.

这里有一个例子:

  1. chart: {
  2. renderTo: 'company_chart',// <--- get rid of that comma
  3. },@H_403_3@
  4. Internet Explorer在一个对象字面量的末尾考虑一个逗号作为一个错误.实际上您应该看到“页面上的错误”警告,但错误通常不表示这种真正的根本原因.

  5. 编辑 显然IE8并不挑剔,虽然IE7是.

  6. 再次编辑 但是,IE8将数组中最后一个悬挂的逗号解释为意味着应该有一个额外的元素!换一种说法:

  7. [1,2,3,].length@H_403_3@ 
  8.  

    Firefox / Chrome / Safari中为3,Internet Explorer中为4.当您尝试访问该元素时,浏览器会给您未定义.

猜你在找的JavaScript相关文章