2012-07-14 173 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>