2010-01-06 11 views
11

Tengo un jsp con muchos códigos de javascript. Siempre que haya un error de javascript en la página, que se muestra en la barra de estado del navegador IE, el número de línea que informa que contiene el error no coincide con el número de línea que realmente contiene el error. Hago clic con el botón derecho> ver fuente para encontrar el número de línea reportado. Pero esa línea no contiene el error. El error, supongo, está en alguna otra línea. ¿Cuál podría ser el motivo de los números de línea erróneos que se informan?Números de línea de error de Javascript

Por favor ayuda.

+0

Solo puedo usar IE para probar mi aplicación. Por lo tanto Firebug no va a ser de mucha ayuda. Además, solía obtener los números de línea correctos hace aproximadamente un mes. No sé cómo de repente existe esta frustrante discrepancia. –

+1

Además de las excelentes sugerencias sobre el uso de la herramienta de desarrollo IE en IE> 8, también puede obtener [Firebug Lite] (http://getfirebug.com/firebuglite), que funciona en cualquier navegador, por lo que Firebug en realidad puede ser de ayuda :) – Kato

Respuesta

4

Encontré el problema después de muchas pruebas. Con suerte, esto será útil para algunos chicos que enfrentan este problema frustrante.

RightClick> Ver código fuente es el código que el navegador ve para representar la página. Sin embargo, eso no es todo. La página también podría tener otras solicitudes HTTP para archivos css ans js. Eso era lo que estaba sucediendo en mi caso. El error estaba en un archivo importado (NO INCLUIDO; si se hubiera incluido el error habría estado en el código) js. Y el número de línea informado fue relativo a ese archivo js.

En retrospectiva, sin embargo, considero que esto es correcto, ya que los archivos importados se almacenan por separado en la memoria caché del navegador, ya que son solicitudes HTTP independientes para el servidor web. Y, por lo tanto, no debería aparecer en el RightClick> Ver el código fuente.

problema potencial: Sin embargo, aunque en mi caso, el número de línea en el archivo js individuo, informó, se encontró que era correcto, que no siempre puede ser cierto. En la mayoría de las aplicaciones empresariales, js y css son a menudo minimizados para reducir la huella de bytes. Por lo tanto, el archivo js que puede estar mirando, en su IDE, no será el mismo que ve el navegador. Por lo tanto, los números de línea podrían ser diferentes. Los números de línea serán w.r.t la versión comprimida del archivo que ve el navegador.

IE de depuración de JavaScript: me encontré con esta página, que promete ofrecer entorno de depurador (no obstante, no sofisticado) en el entorno de IE.

http://jonathanboutelle.com/2006/01/16/how-to-debug-javascript-in-internet-explorer/ No lo intenté, ya que no tengo instalado el paquete completo de Office.

0

Si desea obtener el motivo exacto y la ubicación del error y si desea realizar una amplia depuración de JavaScript, le recomendaría usar FireBug.

+7

Esto a veces no es posible ya que con frecuencia aparecen diferentes errores en IE que en FF (especialmente aquellos que no están relacionados con la sintaxis). –

3

Internet Explorer es horrible a la hora de informar los números de línea de Javascript: generalmente el número de línea notificado es donde comenzó la etiqueta Javascript <script> en el archivo HTML, en lugar del número de línea de ubicación en el archivo Javascript. Solo confíe en el 'Error Reportado', el número de Línea no vale nada con IE.

Utilice otro navegador, por ejemplo, Firefox con la extensión Firebug instalada, o Google Chrome, que tiene incorporado Web Inspector, que también es excelente.

1

Aquí es un buen artículo

Debugging JavaScript: Understanding JavaScript Error Messages

El número de línea, en particular, resulta a ser mucho menos útil de lo que cabría esperar . Los navegadores difieren en su determinación del número de línea y , por lo tanto, no informan de manera confiable el número de línea correcta en el que ocurrió un error en relación con el código fuente . Internet Explorer, por ejemplo, informa el número de línea en relación con la representación interna del propio navegador del origen del documento, que puede o puede no coincidir con el archivo de origen! Firefox informa la ubicación del error más de forma confiable, informando el archivo de script que se produjo un error en donde se aplica. Sin embargo, Firefox no le proporcionará detalles sobre el elemento que causó el error , conocido como como "llamante". Esta información, que puede ser útil para rastrear rápidamente la causa de un error, es actualmente solo proporcionada por Internet Explorer.

7

Como se señala en otras respuestas, IE es malo en informar los números de línea de errores. Sin embargo, el built-in debugger (presione F12) en IE8 y posterior es mucho más útil, por lo que le sugiero que lo intente.

+0

Estoy de acuerdo. "Herramientas -> Herramientas de desarrollo" es lo que desea en lugar de "Ver código fuente" Además, si cambia sus opciones de Internet para detener/solicitar errores de JavaScript, generalmente aparece un mensaje "¿Desea depurar?" botón que te lleva directamente a las herramientas de desarrollo – Graza

Cuestiones relacionadas