Estoy usando HighCharts junto con Python para crear gráficos dinámicamente. Todo funciona bien, sin embargo obtengo la excepción cannot read property "0" of undefined
en IE8. Desafortunadamente, mi cliente también quiere que funcione bajo IE8. Así que aquí está el código de la función principal:HighCharts.js no muestra el gráfico en 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
});
);
Ahora mi petición ajax devuelve algunos datos y almacenarlo en la variable de la siguiente manera:
chart_data = [
{
type: "spline",
color: '#ff0000',
yAxis: 0,
data: dataT1,
},
{
type: "column",
color: '#0000ff',
yAxis: 1,
data: dataT2,
}
];
Después de eso que llamo generateChart(chart_data);
. El formato de las variables dataT1
y dataT2
está bien, ya que funciona en cualquier otro navegador. Por ejemplo dataT1
puede tener este aspecto:
dataT1 = [ [1325721600000,1.64],
[1325635200000,1.64],
[1325548800000,1.7],
[1325462400000,1.7],];
Pero sigue siendo la excepción se produce en virtud de IE8. Alguna idea de cómo solucionar este problema?
Actualmente estoy usando HighStock (pero aquí solo uso HighCharts) y la excepción se arroja en el script highstock.js. Parece que está intentando leer 'chart_data [0] .data [0]' y arroja la excepción. No puedo decirlo con certeza, porque utilicé la versión minificada. Lo extraño es que cuando lo depuro 'chart_data [0] .data' es' null' pero 'chart_data [1] .data' no lo es. Pero todos los elementos están bien (funcionan bajo otros navegadores). – freakish
Ver la actualización de mi respuesta. El problema es con las comas que cuelgan en las definiciones de matriz de datos. – Pointy