gpt4 book ai didi

javascript - Chart.js不会在IE中显示图表

转载 作者:行者123 更新时间:2023-12-03 03:40:51 25 4
gpt4 key购买 nike

我开发了一个网页来显示任何类型的基于时间的数据,我想显示它。这是我的脚本的重要部分:

function updateData(chart, label, data) {
chart.data.labels = label;
chart.data.datasets.forEach(function (dataset) {
dataset.data = data;
});
chart.update();
}

$(".lineChart").each(function () {
var current = $(this).attr("capteur")
var prop = $(this).attr("prop")
var color = null;
var type = $(this).attr("type")

switch ($(this).attr("type")) {
case "Gaz": {
color = getColor(1);
break;
}
case "Electricite": {
color = getColor(2);
break;
}
case "Eau": {
color = getColor(3);
break;
}
}

var datasets = [];
var labels = []

if (datas[current][prop].lineChart.values) {
labels.push(datas[current][prop].lineChart.dates)
datasets.push({
label: datas[current][prop].lineChart.nom,
fill: false,
borderColor: color,
backgroundColor: color,
pointRadius: 2,
data: datas[current][prop].lineChart.values
});
}

datas[current][prop].lineChart.chart = new Chart($(this).get(), {
type: 'line',
data: {
labels: labels,
datasets: datasets
},
options: {
scales: {
xAxes: [{
type: 'time',
unit: 'day',
unitStepSize: 1,
time: {
displayFormats: {
'second': 'mm:ss',
'minute': 'HH:mm',
'hour': 'DD HH:mm',
'day': 'MMM DD',
'week': 'MMM DD',
'month': 'MMM DD',
'quarter': 'MMM DD',
'year': 'YYYY MMM',
}
},
display: true,
scaleLabel: {
display: false,
labelString: datas[current][prop].lineChart.nom,

}

}],
yAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: datas[current][prop].lineChart.unite
}
}]
},
tooltips: {
callbacks: {
title: function (tooltipItem, data) {
var maDate = new Date(data.labels[tooltipItem[0].index]);
return moment(data.labels[tooltipItem[0].index]).format('[Date ] DD/MM/YYYY HH:mm:ss ');
},
label: function (tooltipItem, data) {
var amount = data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];
var total = eval(data.datasets[tooltipItem.datasetIndex].data.join("+"));
return 'Valeur ' + amount + datas[current][prop].lineChart.unite;
},
//footer: function(tooltipItem, data) { return 'Total: 100 planos.'; }
}
},
title: {
display: true,
text: 'Consommation ' + type + ' instantanée'
}
}
});
})

图表在每个导航器上都可以正常显示,但 IE 除外,如您所见:

On Chrome

On IE

我预计会出现一些错误,但控制台上没有任何错误。调试器让我显示两个网络浏览器都接收到了数据。

那么我的代码看起来不错吗?

最佳答案

正如肯定所说,要解决该问题,您必须在初始化图表之前添加以下内容:

if (Number.MAX_SAFE_INTEGER === undefined) {
Number.MAX_SAFE_INTEGER = 9007199254740991;
}
if (Number.MIN_SAFE_INTEGER === undefined) {
Number.MIN_SAFE_INTEGER = -9007199254740991;
}

关于javascript - Chart.js不会在IE中显示图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45637346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com