HighCharts.js ist nicht rendering-Diagramm unter IE8
Ich bin mit HighCharts zusammen mit Python dynamisch Diagramme erstellen. Alles funktioniert einwandfrei, jedoch bekomme ich cannot read property "0" of undefined
Ausnahme unter IE8. Unfortunetly mein Kunde wollen, dass es funktioniert unter IE8 auch. So heres der code der main-Funktion:
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
});
);
Nun meine ajax-request gibt einige Daten ein und die Speichere ich in der Variablen " wie diese:
chart_data = [
{
type: "spline",
color: '#ff0000',
yAxis: 0,
data: dataT1,
},
{
type: "column",
color: '#0000ff',
yAxis: 1,
data: dataT2,
}
];
Danach rufe ich generateChart(chart_data);
. Das format der Variablen dataT1
und dataT2
ist in Ordnung, da es funktioniert unter jedem anderen browser. Zum Beispiel dataT1
könnte wie folgt Aussehen:
dataT1 = [ [1325721600000,1.64],
[1325635200000,1.64],
[1325548800000,1.7],
[1325462400000,1.7],];
Aber noch die Ausnahme geworfen wird, unter IE8. Irgendwelche Ideen, wie man dieses Problem beheben?
- Eigentlich bin ich mit HighStock (hier habe ich aber nur verwenden, HighCharts), und die exception wird geworfen highstock.js script. Es scheint, dass es versucht, zu Lesen
chart_data[0].data[0]
und es wirft die Ausnahme. Ich kann nicht sicher sagen, weil ich minified-version. Das merkwürdige ist, dass wenn ich Debuggenchart_data[0].data
istnull
aberchart_data[1].data
ist nicht. Aber alle asigments sind in Ordnung (Sie arbeiten unter anderen Browsern). - Siehe meine Antwort zu aktualisieren. Das problem mit dem baumelnden Kommas in Ihrem Daten-array-Definitionen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese baumelnden Kommas verursachen Fehler im Internet Explorer. Loswerden von Ihnen.
Hier ein Beispiel:
Internet Explorer die Auffassung, dass ein Komma am Ende ein Objekt-literal, wie das ein Fehler sein. Sie sollten in der Tat sehen die "Fehler auf Seite" Warnung, aber der Fehler ist in der Regel etwas, das nicht zeigen, das eigentliche Ursache.
Bearbeiten — naja anscheinend IE8 ist nicht wählerisch, obwohl IE7 ist.
Bearbeiten wieder — Jedoch, IE8 interpretiert, dass die Letzte baumeln Komma in Ihren Daten-arrays im Sinne von, dass es sein sollte, ein zusätzliches element! In anderen Worten:
ist 3-in-Firefox/Chrome/Safari, aber es ist 4 in Internet Explorer. Wenn Sie versuchen, Zugriff auf das element-browser haben Sie
undefined
.