繁体   English   中英

我不了解javascript对象创建语法的哪些区别? IE8和Chrome

[英]Which differences in javascript object creation syntax have I not understood? IE8 vs Chrome

我正在使用Highcharts,以图形方式显示数据。 我之所以选择该库,是因为它既与IE8兼容,又与Google Chrome的较新版本兼容,因为它根据支持性以VML或SVG形式显示图表。

可以通过定义作为参数传递的属性对象来创建HighCharts。 这在Chrome中就像是一种魅力,但是在IE8中却遇到了麻烦(这里有回声吗?)

我怀疑在javascript中定义对象时,错误是两种浏览器的语法支持不同。 以下两个问题是我找到任何信息最接近的问题,但它们并没有解决我的实际问题。

IE8中Javascript错误的最可能原因是什么?

定义Javascript对象时IE8错误?

我定义属性对象的代码如下。 我的错误始终在此代码段的第一行中。 但是,我在该行中找不到任何错误,因此我认为它必须在其他位置,并且仅指代它的“根”。 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]
            ]
        }]
    };

编辑:正如我可以通过这篇文章告诉的: 在文档模式IE8中奇怪的行为Highcharts饼图 ,我的对象表示法的主要结构是正确的。 中间必须有一两行引起问题。

IE8不支持Object.keys 这是ES5规范,仅IE9及更高版本支持。 您需要以其他方式获取该信息。

这里 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM