Я использую HighCharts вместе с Python для динамического создания диаграмм. Все работает нормально, однако я получаю исключение cannot read property "0" of undefined
в IE8. К сожалению, мой клиент хочет, чтобы он работал и в IE8. Так Heres код главной функции:HighCharts.js не отображает диаграмму в 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);
. Формат переменных dataT1
и dataT2
в порядке, так как он работает под любым другим браузером. Например dataT1
может выглядеть следующим образом:
dataT1 = [ [1325721600000,1.64],
[1325635200000,1.64],
[1325548800000,1.7],
[1325462400000,1.7],];
Но все-таки исключение под IE8. Любые идеи, как это исправить?
На самом деле я использую HighStock (но здесь я использую только HighCharts), и исключение вызывается в скрипте highstock.js. Похоже, что он пытается прочитать «chart_data [0] .data [0]» и выдает исключение. Я не могу сказать точно, потому что я использовал сокращенную версию. Странно то, что когда я отлаживаю его, 'chart_data [0] .data' является' null', но 'chart_data [1] .data' не является. Но все asigments прекрасны (они работают под другими браузерами). – freakish
См. Мое обновление ответа. Проблема заключается в зависании запятых в ваших определениях массива данных. – Pointy