2009-10-01 8 views
12

Estoy recibiendo un error de secuencia de comandos en IE:¿Necesita encontrar la ubicación real de la línea/char en los errores de Internet Explorer Script?

Línea: 59 Char : 71 Error: Se esperaba identificador, cadena o número Código: 0

Línea 59, no parecen personaje 71 para corresponder a mi código Ni siquiera dice qué archivo, pero he mirado mi archivo javascript principal, viendo el origen de la página, etc.

Esto me ha pasado antes y he echado un vistazo hasta que finalmente encuentro un error con el código, generalmente una coma, pero realmente me gustaría obtener algún uso de estos números de línea/char. Leí una vez que es una referencia a la versión interna de la página de la que IE lee.

¿Alguien tiene información sobre cómo averiguar lo que estos números significan realmente y ver la línea de código que está causando el problema?

¡Agradecemos cualquier ayuda!

Respuesta

16

que he encontrado IE línea #/Char # 's para ser inútil o más problemas entonces vale la pena.

Si incluye varios archivos javascript y todo lo que le da es una línea # y un montón # es mucho trabajo para concatenar todos los scripts juntos para descubrir dónde está el error.

Si puedo encontrar el error en Firefox usando firebug entonces eso es la manera más fácil. Si se trata de un único problema de IE lo que hago es permitir la depuración de scripts en Opciones de Internet,

  1. vaya a Herramientas-> Opciones de Internet ... -> Avanzado-> Desactivar la depuración de scripts (Internet Explorer)
  2. Vaya a Herramientas -> Opciones de Internet ... -> Avanzado-> Desactivar la depuración de scripts (Otro)

    a continuación, adjuntar depurador de Visual Studio cuando se produce un error.

Si está utilizando Internet Explorer 8, instale el developer toolbar porque se ha construido en un depurador.

Si usted está realmente interesado en no usar un depurador y sólo ver la fuente y conseguir la línea # Se puede tratar Vista -> Fuente original en la barra de herramientas de IE Developper.

En su caso, usted consiguió tener cuidado para servicios móviles de coma en objetos literales

var obj = { 
a: 1, 
b: 2, 
} 

O nombrar una variable con una palabra clave reservada como "clase", que me ha quemado muchas veces. Aquí hay una lista de reserved keywords

+0

Gracias por los buenos consejos sobre la desactivación de la depuración de scripts en IE. Firebug en FF es genial, pero siempre me resulta frustrante trabajar solo con IE. Entonces, en teoría, concatenar los archivos javascript juntos (en el orden en que se agregan en la sección principal del html) representaría un número de línea utilizable en IE? – croixhaug

+0

excelente respuesta con algunos consejos importantes. – jini

+0

Parece que incluso con el depurador IE (8), al hacer clic en el mensaje de error no se lleva el cursor a la ubicación del error. Ciertamente no lo lleva a la línea/char indicada, y tampoco lo lleva a nada que tenga sentido. –

0

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 correcto 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 propia del navegador del origen del documento, que puede coincidir o no con el archivo fuente. Firefox informa la ubicación del error de manera más confiable, informando el archivo de script que se produjo un error en donde corresponda.

Los números de línea pueden ayudarlo a identificar el lugar general en el guión donde las cosas salieron mal.Puede copiar el origen del documento y pegarlo en un editor de texto que proporciona numeración de línea, como el Bloc de notas. Alternativamente, puede configurar el editor HTML predeterminado en la pestaña Programas del cuadro de diálogo Opciones de Internet

+3

"Los navegadores no informan de manera confiable la línea correcta". es decir, Internet Explorer. – recursive

+0

No, también tengo problemas como este en Firefox. Simplemente tiene que codificar JavaScript Firefox mucho para notar esto. Parece que sucede principalmente debido a try/catch. – Christian

3

Recomendaría probar la misma página en IE8, si aún no lo ha hecho. Si el error no ocurre, intente cambiar IE8 a Vista de compatibilidad.

Si obtiene el error que se produce, las herramientas de desarrollador integradas son muy buenas para encontrar exactamente dónde se producen los problemas en el Javascript.

0

Por qué, utilice IE7 o IE8 con las herramientas de desarrollador web. Y cuando tenga un error JS, le preguntará si desea depurar esto, dirá "sí, quiero" y se abrirá un buen depurador, exactamente en la línea problemática.
Lamentablemente, estoy en Linux, y no puedo darle una pantalla de impresión para mostrarle cómo activar esto.

Cuestiones relacionadas