未捕获的SyntaxError:javascript中的意外标记ILLEGAL

时间:2014-07-08 16:38:00

标签: javascript html css highcharts

我尝试使用Highcharts图表API在网格中创建直线,列和饼图。但我收到错误" Uncaught SyntaxError:意外的令牌ILLEGAL"。几个小时从头开始。推荐链接:http://www.highcharts.com/demo/com

 <apex:page>
 <script src="https://code.highcharts.com/highcharts.js"></script>
 <script src="https://code.highcharts.com/modules/exporting.js"></script>
 <div id="container" style="min-width: 310px; height: 400px; margin:0 auto"></div>

    <script>
        $(function () {
        $('#container').highcharts({
        title: {
        text: 'Combination chart'
        },
        xAxis: {
            categories: ['Apples', 'Oranges', 'Pears', 'Bananas', 'Plums']
        },
                labels: {
                items: [{
                html: 'Total fruit consumption',
                style: {
                left: '50px',
                top: '18px',
               color: (Highcharts.theme &amp;&amp;Highcharts.theme.textColor)||'black'
                }
            }]
        },
          series: [{
                type: 'column',
                name: 'Jane',
                data: [3, 2, 1, 3, 4]
                }, {
                 type: 'column',
                name: 'John',
               data: [2, 3, 5, 7, 6]
                }, {
                type: 'column',
                name: 'Joe',
                data: [4, 3, 3, 9, 0]
                }, {
                type: 'spline',
                name: 'Average',
                data: [3, 2.67, 3, 6.33, 3.33],
                marker: {
                lineWidth: 2,
                lineColor: Highcharts.getOptions().colors[3],
                fillColor: 'white'
              }
            }, {
            type: 'pie',
            name: 'Total consumption',
            data: [{
                name: 'Jane',
                y: 13,
                color: Highcharts.getOptions().colors[0] 
              }, {
                name: 'John',
                y: 23,
                color: Highcharts.getOptions().colors[1] 
                }, {
                name: 'Joe',
                y: 19,
                color: Highcharts.getOptions().colors[2] 
            }],
            center: [100, 80],
            size: 100,
            showInLegend: false,
            dataLabels: {
                enabled: false
                }
            }]
        });
    });

    </script>
   </apex:page>


    Really appreciate the help.

1 个答案:

答案 0 :(得分:2)

您的JavaScript代码中有一个HTML特殊实体字符(&amp;代表&amp; )。 试试这个:

 <apex:page>
     <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
     <script src="https://code.highcharts.com/highcharts.js"></script>
     <script src="https://code.highcharts.com/modules/exporting.js"></script>
     <div id="container" style="min-width: 310px; height: 400px; margin:0 auto"></div>

        <script>
            $(function () {
            $('#container').highcharts({
            title: {
            text: 'Combination chart'
            },
            xAxis: {
                categories: ['Apples', 'Oranges', 'Pears', 'Bananas', 'Plums']
            },
                    labels: {
                    items: [{
                    html: 'Total fruit consumption',
                    style: {
                    left: '50px',
                    top: '18px',
                   color: (Highcharts.theme && Highcharts.theme.textColor)||'black' // remove the HTML-like "&" encoding...
                    }
                }]
            },
              series: [{
                    type: 'column',
                    name: 'Jane',
                    data: [3, 2, 1, 3, 4]
                    }, {
                     type: 'column',
                    name: 'John',
                   data: [2, 3, 5, 7, 6]
                    }, {
                    type: 'column',
                    name: 'Joe',
                    data: [4, 3, 3, 9, 0]
                    }, {
                    type: 'spline',
                    name: 'Average',
                    data: [3, 2.67, 3, 6.33, 3.33],
                    marker: {
                    lineWidth: 2,
                    lineColor: Highcharts.getOptions().colors[3],
                    fillColor: 'white'
                  }
                }, {
                type: 'pie',
                name: 'Total consumption',
                data: [{
                    name: 'Jane',
                    y: 13,
                    color: Highcharts.getOptions().colors[0] 
                  }, {
                    name: 'John',
                    y: 23,
                    color: Highcharts.getOptions().colors[1] 
                    }, {
                    name: 'Joe',
                    y: 19,
                    color: Highcharts.getOptions().colors[2] 
                }],
                center: [100, 80],
                size: 100,
                showInLegend: false,
                dataLabels: {
                    enabled: false
                    }
                }]
            });
        });

        </script>
  </apex:page>

我也包含了一个jQuery CDN参考。我不知道Highcharts是否需要它。