2012-07-14 15 views
5

Estoy tratando de ejecutar el mismo código en este jsFiddle localmente pero me dio error de FirebugHighcharts excepción no detectada

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

El script incluido 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 

Lo mismo ocurre para este jsFiddle como bien.

¿Alguien sabe por qué sucede esto?

EDIT: He encontrado el motivo del problema. En realidad tengo que poner la etiqueta <script type="text/javascript" src="test.js"></script> después de mi etiqueta <div id="container"></div>, de lo contrario la excepción no detectada se mostrará incluso puse la etiqueta <script> en <head>. Nunca puse el archivo de script en la etiqueta <body> antes, y esta es la primera vez que encuentro este problema. ¿Alguien puede explicarme por qué sucede eso?

Gracias

+0

Ran it in chrome, no hay errores apareciendo. – Duniyadnd

+1

No puse '$ (document) .ready' en el archivo js, ​​esa es la razón. ¡Gracias de cualquier manera! – sozhen

Respuesta

18

Esto significa que Highcharts se carga y se carga la configuración, pero la opción renderTo es equivocado, o no exista un div con el id de la página. Consulte www.highcharts.com/errors/13.

+0

He encontrado la razón. Pero una cosa todavía estoy confundiendo, por favor vea mi pregunta actualizada. ¡Gracias! – sozhen

+2

No importa. No puse el '$ (document) .ready' en mi archivo js y es por eso que no encontré la etiqueta' div'. Mi MALO ..... – sozhen

+1

Gracias por la respuesta, pero agregar '$ (document) .ready' no funcionó para mí. Todavía arroja el mismo error.¿Alguien puede ayudarme –

2

El elemento/div usted está tratando de hacer que la carta a que falta

Un conjunto estándar de registros que iba a utilizar para solucionar el error Highcharts # 13 son

 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); 

esto hay que añadir simplemente antes de llamar al constructor Highcharts

 chart = new Highcharts.Chart(chartingOptions); 

Si todo va bien debería ver el ID de elemento correcto, y la longitud que 1.

Troubleshooting highcharts error # 13 | Highchart & Highstock @ jsFiddle

Aquí es el registro que se ve por encima de la demo

JSON: { "carta": { "renderTo": "contenedor" ...}}
Dad al elemento con ID: contenedor
Número de elementos DOM que emparejan: 1

1

creo saber por qué usted debe añadir que después de la etiqueta div/div. Si está utilizando un JSP o cualquier otro stuf del lado del servidor. Debe agregar su secuencia de comandos Highcharts después de la declaración del contenedor div para que pueda reconocer su id de div y luego proceda a procesarlo. Tal como lo hice en el siguiente ejemplo:

<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> 
Cuestiones relacionadas