javascript - HighCharts.js 在 IE8 下不渲染图表

标签 javascript internet-explorer internet-explorer-8 plot highcharts

我将 HighCharts 与 Python 结合使用来动态创建图表。一切正常,但是我在 IE8 下得到 cannot read property "0"of undefined 异常。不幸的是,我的客户希望它也能在 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,
    }
];

之后我调用 generateChart(chart_data);。变量 dataT1dataT2 的格式很好,因为它适用于所有其他浏览器。例如 dataT1 可能如下所示:

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
    },

Internet Explorer 将像这样的对象文字末尾的逗号视为错误。实际上,您应该会看到“页面错误”警告,但错误通常并不表示真正的根本原因。

编辑 — 显然 IE8 对此并不挑剔,尽管 IE7 是。

再次编辑但是,IE8 将数据数组中最后悬空的逗号解释为应该有一个额外的元素!换句话说:

 [1, 2, 3,].length

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

关于javascript - HighCharts.js 在 IE8 下不渲染图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790958/

相关文章:

vba - 如何关闭 Excel VBA 内的 Internet Explorer 实例

css - 我该如何解决这个 IE CSS 问题?

jquery - IE 8 在克隆元素上创建 UI 小部件时出错

javascript - 增加 slider.js 箭头按钮的大小

javascript - 如何在 firefox 中覆盖 Ctrl + N 以启动 AJAX

javascript - 通过 Azure AD 身份验证进行单点登录 (SSO) 时出错 - AADSTS50059

c# - 在 WinForms 中托管 IE 8 并打开 PDF

javascript - 如何在 mozilla firefox 中隐藏 native 日期选择器

internet-explorer - X-UA-Compatible "IE=EmulateIE7"在 IE10 和 IE11 中工作吗?

javascript - 当我将 Intranet 站点添加到 Intranet 安全区域 IE11 时,jQuery 未加载