Javascript HighCharts.js未在IE8下呈现图表

Javascript HighCharts.js未在IE8下呈现图表,javascript,internet-explorer,internet-explorer-8,plot,highcharts,Javascript,Internet Explorer,Internet Explorer 8,Plot,Highcharts,我正在使用HighCharts和Python动态创建图表。所有工作正常,但我无法读取IE8下未定义的异常的属性“0”。不幸的是,我的客户希望它也能在IE8下工作。下面是主要功能的代码: function generateChart(series) { var chart = new Highcharts.Chart({ chart: { renderTo: 'company_chart', }, xAxis: {

我正在使用HighCharts和Python动态创建图表。所有工作正常,但我无法读取IE8下未定义的异常的属性“0”。不幸的是,我的客户希望它也能在IE8下工作。下面是主要功能的代码:

function generateChart(series) {
    var chart = new Highcharts.Chart({
        chart: {
            renderTo: 'company_chart',
        },
        xAxis: {
            type: "datetime",
        },
        yAxis: [{
            title: {
                text: "T1",
                },
            },{
            title: {
                text: "T2",
                },
            },
            opposite: true,
        }],
        plotOptions: {
            series: { shadow: false },
            column: { shadow: false, },
        },
        series: series
    });
);
现在,我的ajax请求返回一些数据,并将其存储在变量中,如下所示:

chart_data = [
    {
        type: "spline",
        color: '#ff0000',
        yAxis: 0,
        data: dataT1,
    },
    {
        type: "column",
        color: '#0000ff',
        yAxis: 1,
        data: dataT2,
    }
];
dataT1 = [ [1325721600000,1.64],
           [1325635200000,1.64],
           [1325548800000,1.7],
           [1325462400000,1.7],];
然后我调用
generateChart(图表数据)。变量
dataT1
dataT2
的格式很好,因为它可以在其他浏览器下工作。例如,
dataT1
可能如下所示:

chart_data = [
    {
        type: "spline",
        color: '#ff0000',
        yAxis: 0,
        data: dataT1,
    },
    {
        type: "column",
        color: '#0000ff',
        yAxis: 1,
        data: dataT2,
    }
];
dataT1 = [ [1325721600000,1.64],
           [1325635200000,1.64],
           [1325548800000,1.7],
           [1325462400000,1.7],];

但这个异常仍然是在IE8下抛出的。有没有办法解决这个问题?

那些悬空的逗号会导致Internet Explorer出现错误。摆脱他们

下面是一个例子:

    chart: {
        renderTo: 'company_chart', // <--- get rid of that comma
    },

在Firefox/Chrome/Safari中为3,但在Internet Explorer中为4。当您尝试访问该元素时,浏览器会为您提供
未定义的

我也考虑过,但这似乎在IE8及更高版本下得到了修复,因为快速调试显示该代码不会引发异常,工作正常。即使是这样,我也会得到不同的异常,不是吗?这对于8版之前的IE来说绝对是错误的,我怀疑它在IE8中工作。不过我会试试的。是的,你是对的,哈利路亚。IE8似乎并不介意。然而,如果我把IE8切换到IE7模式,它就会抱怨。我不在乎IE7和更早的版本。我只需要让它在IE8下工作。:)当然,我可以解决这个问题,但主要问题仍然存在。啊,太好了!这就是问题所在。:)非常感谢你!我改变了这一点,效果很好!(真是一件痛苦的事。)实际上,我使用的是HighStock(但这里我只使用HighCharts),异常在HighStock.js脚本中抛出。它似乎正在尝试读取
图表数据[0]。数据[0]
,并引发异常。我不能肯定,因为我用的是缩小版。奇怪的是,当我调试它时,
chart\u data[0]。data
null
chart\u data[1]。data
不是。但是所有的附件都很好(它们在其他浏览器下工作)。请参阅我的答案更新。问题在于数据数组定义中的悬空逗号。