2012-07-14 172 views
5

我试图在本地运行本jsFiddle相同的代码,但我从萤火虫遇到错误HighCharts未捕获的异常

uncaught exception: Highcharts error #13: www.highcharts.com/errors/13 

包含脚本fiels:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> 
<script type="text/javascript" src="http://highcharts.com/js/testing.js"></script> 
<script type="text/javascript" src="test.js"></script> // my js file 

同样的事情发生这种jsFiddle为好。

任何人都知道为什么会发生这种情况?

编辑:我找到了问题的原因。其实我必须把<script type="text/javascript" src="test.js"></script>标签放在我的<div id="container"></div>标签后面,否则即使我把<script>标签放在<head>中也会显示未捕获的异常。我以前从未将脚本文件放入<body>标签中,这是我第一次遇到此问题。有人可以解释为什么会发生这种情况吗?

感谢

+0

在铬中运行,没有错误弹出。 – Duniyadnd 2012-07-14 19:08:04

+1

我没有把'$(document).ready'放在js文件中,这就是原因。不管怎么说,还是要谢谢你! – sozhen 2012-07-15 01:26:14

回答

18

这意味着Highcharts装载和配置被加载,但renderTo选项是错误的,或者有与该页面ID不派息。请参阅www.highcharts.com/errors/13。

+0

我找到了原因。但有一件事我仍然感到困惑,请看我最新的问题。谢谢! – sozhen 2012-07-15 01:21:39

+2

没关系。我没有把'$(document).ready'放在我的js文件中,这就是为什么它没有找到'div'标签。我的坏..... – sozhen 2012-07-15 01:25:37

+1

感谢您的答案,但添加'$(document).ready'不适合我。仍然抛出相同的错误。任何人都可以请帮助 – 2014-06-17 09:01:07

2

元素/ DIV你想呈现的图表缺少

一组标准的日志,我会用它来解决highcharts错误#13

 console.log("JSON: " + JSON.stringify(chartingOptions)); 
     console.log("Render to element with ID : " + chartingOptions.chart.renderTo); 
     console.log("Number of matching dom elements : " + $("#" + chartingOptions.chart.renderTo).length); 

这些应该是刚刚添加调用Highcharts构造

 chart = new Highcharts.Chart(chartingOptions); 

如果一切顺利,你应该可以看到正确的元素ID和长度为1

Troubleshooting highcharts error # 13 | Highchart & Highstock @ jsFiddle

这里是被视作上述

JSON演示日志:{ “图表”:{ “renderTo”: “容器” ...}}
渲染到元件ID为:集装箱
号码匹配DOM元素:1

1

我想我知道你为什么要后DIV/DIV添加标签。 如果您正在使用JSP或任何其他服务器端的stuf。您应该在之后添加您的Highcharts脚本以便识别您div的id,然后继续呈现它。就像我在下面的例子中所做的那样:

<head> 
    <title>HighCharts :D</title> 
    <script src="http://code.highcharts.com/highcharts.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
</head> 
<body> 
<div id="container" style="width: 600px; height: 400px; margin: 0 auto"> 
</div> 
<script type="text/javascript"> 
    var myChart = Highcharts.chart('container', { 
     chart: { 
      type: 'bar' 
     }, 
     title: { 
      text: 'Fruit Consumption' 
     }, 
     xAxis: { 
      categories: ['Apples', 'Bananas', 'Oranges'] 
     }, 
     yAxis: { 
      title: { 
       text: 'Fruit eaten' 
      } 
     }, 
     series: [{ 
      name: 'Jane', 
      data: [1, 0, 4] 
     }, { 
      name: 'John', 
      data: [5, 7, 3] 
     }] 
    }); 


</script> 
</body>