Tôi đang sử dụng HighCharts cùng với Python để tạo biểu đồ động. Tất cả hoạt động tốt, tuy nhiên tôi nhận được cannot read property "0" of undefined
ngoại lệ theo IE8. Unfortunetly khách hàng của tôi muốn nó làm việc theo IE8 là tốt. Vì vậy, heres mã của hàm chính:HighCharts.js không hiển thị biểu đồ trong 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
});
);
Bây giờ yêu cầu ajax của tôi trả về một số dữ liệu và tôi lưu trữ nó trong biến như thế này:
chart_data = [
{
type: "spline",
color: '#ff0000',
yAxis: 0,
data: dataT1,
},
{
type: "column",
color: '#0000ff',
yAxis: 1,
data: dataT2,
}
];
Sau đó tôi gọi generateChart(chart_data);
. Định dạng của các biến số dataT1
và dataT2
là tốt, vì nó hoạt động trong mọi trình duyệt khác. Ví dụ: dataT1
có thể trông giống như sau:
dataT1 = [ [1325721600000,1.64],
[1325635200000,1.64],
[1325548800000,1.7],
[1325462400000,1.7],];
Nhưng vẫn ngoại lệ được ném theo IE8. Bất kỳ ý tưởng làm thế nào để sửa lỗi này?
Thực ra tôi đang sử dụng HighStock (nhưng ở đây tôi chỉ sử dụng HighCharts) và ngoại lệ được ném trong kịch bản highstock.js. Có vẻ như nó đang cố gắng đọc 'chart_data [0] .data [0]' và nó ném ngoại lệ. Tôi không thể nói chắc chắn, bởi vì tôi đã sử dụng phiên bản rút gọn. Điều kỳ lạ là khi tôi gỡ lỗi nó 'chart_data [0] .data' là' null' nhưng 'chart_data [1] .data' thì không. Nhưng tất cả các asigments đều tốt (chúng hoạt động dưới các trình duyệt khác). – freakish
Xem cập nhật câu trả lời của tôi. Vấn đề là với các dấu phẩy lơ lửng trong các định nghĩa mảng dữ liệu của bạn. – Pointy