Я работаю с Highcharts, чтобы отображать данные графически. Я выбрал эту библиотеку специально из-за ее совместимости как с IE8, так и с более новой версией Google Chrome, поскольку она отображает диаграммы в VML или SVG, в зависимости от возможности поддержки.
HighCharts может быть создан путем определения объекта свойств, который передается в качестве параметра. Это работает как шарм в Chrome, но у меня проблемы с IE8 (здесь есть эхо?)
Подозреваю, что ошибка заключается в поддержке разного синтаксиса для двух браузеров при определении объекта в javascript. Два вопроса, приведенные ниже, являются наиболее близким к тому, к чему я пришел, чтобы найти какую-либо информацию, но они не решают мою настоящую проблему.
Каковы наиболее вероятные причины ошибок Javascript в IE8?
Ошибки IE8 при определении объекта Javascript?
Мой код для определения объекта свойств приведен ниже. Моя ошибка всегда указывается в первой строке этого фрагмента. Однако я не могу найти никаких ошибок в этой строке, поэтому я думаю, что это должно быть где-то еще, и ссылаюсь только на его «корень». entry - это объект с несколькими параметрами для заполнения диаграммы заголовками и т.п.
var chartOptions = {
chart: {
renderTo: "piecontainer"+index,
plotBackgroundColor: null,
plotBorderWidth: 0,
plotShadow: false
},
title: {
text: entry.title + '<br/><br/>' + entry.path + '<br/><br/>Total: ' + Object.keys(entry.testMap).length,
align: 'center',
verticalAlign: 'middle',
y: 50
},
tooltip: {
pointFormat: '{series.name}: <b> {point.y} ({point.percentage:.1f}%)</b>'
},
legend: {
width: 415,
enabled: true,
useHTML: true,
labelFormatter: function() {
return '<span>' + this.name + ': ' + this.y + '<t/></span>';
},
itemDistance: 20
},
credits: {
enabled: false
},
plotOptions: {
pie: {
size: '100%',
animation: false,
dataLabels: {
enabled: false
},
showInLegend: true,
startAngle: -90,
endAngle: 90,
center: ['50%', '75%']
}
},
series: [{
type: 'pie',
name: 'Test Cases',
innerSize: '50%',
data: [
['Passed', 1],
['Not Completed', 1],
['Failed', 1],
['No Run', 1],
['N/A', 1],
['Blocked', 1],
['Incorrect Database Value', 1]
]
}]
};
РЕДАКТИРОВАТЬ: Как я могу судить по этому сообщению: Странное поведение Круговая диаграмма Highcharts в режиме документа IE8, основная структура моей объектной нотации верна. Посередине должна быть одна или две строки, которые вызывают проблемы.
Object.keys()недоступен (если вы не загружаете es5-shim.js) - person David Atchley   schedule 20.06.2014