JavaScript运行时错误:需要对象

JavaScript运行时错误:需要对象,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我正在尝试复制HighChart图形。它在JSFIDLE上运行良好。但在我的本地web应用程序上,它抛出错误: JavaScript运行时错误:需要对象 文件highcharts.src.js中的此代码段出现错误 / Set up auto resize if (optionsChart.reflow !== false) { addEvent(chart, 'load', function () { chart.initR

我正在尝试复制HighChart图形。它在JSFIDLE上运行良好。但在我的本地web应用程序上,它抛出错误:

JavaScript运行时错误:需要对象

文件highcharts.src.js中的此代码段出现错误

/ Set up auto resize
        if (optionsChart.reflow !== false) {
            addEvent(chart, 'load', function () {
                chart.initReflow();
            });
        }
这是我的JSFIDLE

这是我的网页

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="http://code.highcharts.com/highcharts.src.js"></script>
    <script src="http://code.highcharts.com/modules/exporting.js"></script>
    <script src="http://code.jquery.com/jquery-1.7.2.js"></script>
    <script type="text/javascript" language="javascript">
        $(document).ready(function () {
            $(function () {
                var highOptions = {

                    chart: {
                        type: 'line',
                        renderTo: 'container2',
                        zoomType: 'x',
                        marginTop: 100

                    },

                    title: {
                        text: 'Score'
                    },

                    subtitle: {
                        text: '  '
                    },

                    xAxis: {
                        title: {
                            text: 'XXX'
                        },
                        categories: [],
                        labels: {
                            rotation: 45,
                            step: 1,
                            y: 30
                        }
                    },

                    yAxis: [{ // left y axis
                        title: {
                            text: 'XXX'
                        },
                        min: 0,
                        max: 9,
                        plotLines: [{
                            value: 7.5,
                            color: '#ff0000',
                            width: 2,
                            zIndex: 4,
                            label: {
                                text: 'XXX'
                            }
                        }]
                    }],

                    plotOptions: {
                        column: {
                            dataLabels: {
                                enabled: true,
                                formatter: function () {
                                    return Highcharts.numberFormat(this.y, 1);
                                }
                            }
                        }
                    },
                    legend: {
                        align: 'left',
                        verticalAlign: 'top',
                        y: 20,
                        floating: true,
                        borderWidth: 0
                    },

                    tooltip: {
                        shared: true,
                        crosshairs: true
                    },
                    series: []
                };

                highOptions.xAxis.categories = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8];

                highOptions.subtitle.text = "XXX:";
                chart = new Highcharts.Chart(highOptions);
                var aName = "Fin";

                newLP = [0.1, 5.52, 0.2, 6.16, 0.3, 6.34, 0.4, 6.69, 0.5, 6.36, 0.6, 7.44, 0.7,  
                7.44, 0.8, 7.44];

                    chart.addSeries({
                        name: aName,
                        data: newLP
                    }, false);

                chart.redraw();
            });
        });

    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="container2">
    </div>
    </form>
</body>
</html>

$(文档).ready(函数(){
$(函数(){
var highOptions={
图表:{
键入:“行”,
renderTo:'container2',
zoomType:'x',
玛金托普:100
},
标题:{
文字:“分数”
},
副标题:{
文本:“”
},
xAxis:{
标题:{
文本:“XXX”
},
类别:[],
标签:{
轮换:45,
步骤:1,
y:30
}
},
yAxis:[{//左y轴
标题:{
文本:“XXX”
},
分:0,,
最高:9,
绘图线:[{
价值:7.5,
颜色:“#ff0000”,
宽度:2,
zIndex:4,
标签:{
文本:“XXX”
}
}]
}],
打印选项:{
专栏:{
数据标签:{
启用:对,
格式化程序:函数(){
返回Highcharts.numberFormat(this.y,1);
}
}
}
},
图例:{
对齐:“左”,
垂直排列:“顶部”,
y:20,
浮动:是的,
边框宽度:0
},
工具提示:{
分享:是的,
十字准星:对
},
系列:[]
};
highOptions.xAxis.categories=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8];
highOptions.subtitle.text=“XXX:”;
图表=新的Highcharts.图表(highOptions);
var aName=“Fin”;
newLP=[0.1,5.52,0.2,6.16,0.3,6.34,0.4,6.69,0.5,6.36,0.6,7.44,0.7,
7.44, 0.8, 7.44];
chart.addSeries({
姓名:阿南,
资料来源:newLP
},假);
chart.redraw();
});
});

我不知道。为什么它在JSFIDLE上运行良好。但在我的Web应用程序上运行不好。没有其他插件安装。请建议用谷歌搜索一下这个错误,它似乎总是要处理如何安装

<script type="text/javascript">

定义了

您是否尝试将其更改为:

<script type="text/javascript" language="javascript">

脚本的顺序很重要。在这种情况下,CHROME的正确顺序应该是:

<script src="http://code.jquery.com/jquery-1.7.2.js"></script>
<script src="http://code.highcharts.com/highcharts.src.js"></script>
<script src="http://code.highcharts.com/modules/exporting.js"></script>


其他浏览器可能有不同的方法来确定首先加载哪个js文件。因此,您必须使用其他浏览器进行测试,看它们是否都能正常工作。

修复一个bug而不重新创建它几乎是不可能的。逻辑将指示对象预期的错误不是由这里的代码引起的。如果您在控制台中检查错误,它应该告诉您导致错误的JS代码行。这将有助于您调试问题。我已经提到了在运行时发现错误的部分。希望这可能会有所帮助