Depuración de JavaScript en IE7


160

Necesito depurar JavaScript en Internet Explorer 7.

Desafortunadamente, su depurador predeterminado no me proporciona mucha información. Me dice la página en la que apareció el error (no el script específico) y me da un número de línea. No sé si eso está relacionado con mi problema.

Sería bueno si pudiera reducir el error a un número de línea en un script específico (como puede hacerlo Firebug).

¿Hay un complemento para depurar JavaScript en IE7 como Firebug lo hace en Firefox?

¡Gracias!

Ver también:

¿IE7 tiene un "modo desarrollador" o un complemento como Firefox / Chrome / Safari?

Respuestas:


90

Web Development Helper es muy bueno.

La barra de herramientas de desarrollo de IE a menudo es útil, pero desafortunadamente no realiza la depuración de scripts


44
Vale la pena señalar, tal vez, es que tiene que desactivar "desactivar depuración" en las opciones avanzadas.
Dan Rosenstark

24
No veo ninguna opción de depuración de scripts en la barra de herramientas de desarrollo de IE, y la última versión de Web Development Helper no funciona, incluso después de cambiar mis preferencias avanzadas y reiniciar IE7.
stevebot

9
El enlace del Ayudante de desarrollo web indicado anteriormente está desactivado. ¿Alguien puede confirmar que esta es la misma herramienta alojada aquí? softpedia.com/get/Tweak/Browser-Tweak/…
RMorrisey

3
Oh, la ironía; ¡El enlace de descarga de Softpedia para Web Dev Helper muere en IE7! (El temido error "Operación abortada".)
Sean McMillan

1
Creo que el enlace conduce a malware.
árbol

41

La dura verdad es: el único buen depurador para IE es Visual Studio.

Si no tiene dinero para el negocio real, descargue gratis Visual Web Developer 2008 Express Edition Visual Web Developer 2010 Express Edition . Mientras que el primero le permite adjuntar un depurador a IE que ya se está ejecutando, el segundo no (al menos las versiones anteriores que utilicé no lo permitían). Si este sigue siendo el caso, el truco consiste en crear un proyecto simple con una página web vacía, "ejecutarlo" (inicia el navegador), ahora navegar a la página que desee depurar y comenzar a depurar.

Microsoft regala Visual Studio completo en diferentes eventos, generalmente con restricciones de licencia, pero permiten jugar en casa. Consulte su horario y la lista de regalos.

Otra pista: primero intente depurar su aplicación web con otros navegadores. Tuve un gran éxito con Opera. De alguna manera, la emulación de IE de IE y sus errores estaba bastante cerca, pero el depurador es mucho mejor.


2
para obtener instrucciones paso a paso, consulte la respuesta de @ mitjak
rymo

44
VS no es el único buen depurador para IE, aunque estoy de acuerdo en que no hay muchos buenos. Este es el único depurador de JavaScript específico de IE que he estado usando durante años, aunque no es gratis: javascript-debugger.com

El enlace a VS 2008 se ha ido. Ahora va a una página para VS 2012.
Sean McMillan

Existe VS 2012 Express Edition, que aún es gratuito (el enlace anterior en realidad apunta a él).
Eugene Lazutkin

1
VS2012 Express requiere Windows 7. Si está intentando depurar IE7, eso no es útil. Lo que necesita es VS2010 Web Express: microsoft.com/web/gallery/…
Mike Post el

32

es posible que desee probar el depurador de scripts de Microsoft es bastante antiguo, pero es bastante útil en el sentido de que si encuentra algún error de JavaScript, el depurador aparecerá para mostrarle qué línea está en mal estado. a veces puede irritarse cuando haces surf normal, pero puedes apagarlo si está apagado.

Aquí hay un buen inicio sobre cómo usar esta herramienta también. Cómo: depurar JavaScript en Internet Explorer


El enlace del howto está roto. Aquí hay un enlace actualizado: jonathanboutelle.com/2006/01/16/…
Dana

Gran ruta de depuración de baja fricción, sin tener que instalar ningún software de terceros.
Jon Hadley

27

He encontrado DebugBar .

No tan bueno como Firebug, pero cerca.


3
Todavía, es decir, mucho mejor que la barra de herramientas de dev
Sam azafrán

2
No sé por qué esta no es la respuesta aceptada. Mucho mejor que cualquier otro depurador para IE.
Tres

1
De hecho, encontré que el " Compañero JS " gratuito mencionado en su sitio funciona mejor. Le dice exactamente en qué archivo JS y número de línea se produce el error.
Tyler

25

En IE7, puede abrir firebug lite para la página actual pegando lo siguiente en la barra de direcciones:

javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);

Ver http://getfirebug.com/lite.html .


66
Firebug lite no hace Javascript
Casebash

Me detuve en FireBug lite con su consola para depurar
Eugene Gluhotorenko

Tiene una consola que ejecuta JavaScript, que es lo que estaba buscando.
Alex W

Realmente útil para inspeccionar elementos en IE 7. ¡Gracias! :)
Leniel Maccaferri

7

Microsoft Script Editor es de hecho una opción, y de las que he probado es una de las más estables: el depurador en IE8 es excelente, pero por alguna razón cada vez que inicio las herramientas de desarrollo, IE8 tarda un tiempo, a veces hasta minuto, para inspeccionar el árbol DOM de mi página. Y luego parece querer hacerlo en cada actualización de la página, lo cual es una tortura.

Usted puede inspeccionar el contenido de las variables en el editor de comandos de Microsoft: si hurgar bajo Test> ventana se puede convertir en una inspección variable local, observando etc.

La otra opción, Visual Web Dev, aunque voluminosa, funciona razonablemente bien. Para configurarlo, haga esto (robado de aquí ):

  1. La depuración debe estar activada en IE. Vaya a Herramientas> Opciones de Internet> Avanzado y verifique que Desactivar la depuración de scripts (Internet Explorer) esté desmarcado y Mostrar una notificación sobre cada error de script está marcado
  2. Cree un nuevo proyecto web vacío dentro de VWD
  3. Haga clic con el botón derecho en el sitio en el Explorador de soluciones en la esquina superior derecha, vaya a Examinar con y asegúrese de que su navegador predeterminado esté configurado en IE (es razonable suponer que si es un desarrollador web, IE no es su navegador predeterminado, en cuyo caso ese no será el predeterminado ... por defecto)
  4. Presiona F5, IE se abrirá. Navegue hasta la página que desea depurar.
  5. VWD ahora se abrirá cada vez que tenga un error de script o si establece un punto de interrupción en uno de los archivos JS. Depurar lejos!

ACTUALIZACIÓN : Por cierto, si experimenta las mismas ralentizaciones que yo con el depurador decente de IE8, hay una solución alternativa: si encuentra o hace que IE encuentre un error para que aparezca el diálogo "¿Desea depurar?" Y presione Sí, el depurador aparecerá casi al instante. Parece que si va "directamente" al modo de depuración, las herramientas de desarrollo nunca inspeccionan el DOM. Es solo cuando golpeas F12 que lo hace.


Tendría que probar esto un poco más, pero hasta ahora parece que el depurador IE8 funciona más rápido cuando navega en modo de compatibilidad. ¡Imagínate!
dmkc

1
Si está utilizando la versión Express (gratuita) de VWD, asegúrese de haber cerrado TODAS las ventanas de IE antes del paso 4: VWD debe ser el que inicie IE desde cero para que "sea el propietario".
rymo

3

IE8 tiene herramientas de desarrollo mucho mejores. Hasta entonces, es mejor escribir javascript para firefox primero y luego depurar IE usando declaraciones alert ().


No puedo esperar a IE8 (siempre y cuando esté a la altura de las expectativas, todavía tengo que descargar la versión beta)
alex

Ahora que está afuera, he defecado, y debo decir que me gusta el depurador incluso mejor que el de Firebug :)
Joel Coehoorn

@Joel, aunque el depurador es genial, una cosa que me molesta (que Firebug tiene) es un menú contextual con el botón derecho donde puedes elegir "inspeccionar elemento". Que yo sepa, en IE8 debe iniciar las herramientas de desarrollo, luego hacer clic en la flecha, luego encontrar el elemento que desea inspeccionar.
alex

3

Microsoft Script Editor se puede usar para depurar Javascript en IE. Es menos defectuoso que el Microsoft Script Debugger pero tiene la misma funcionalidad básica, que desafortunadamente está bastante limitada al paso a través de la ejecución. Parece que no puedo inspeccionar variables o cualquier cosa útil como esa. Además, solo se envió con Office XP / 2003 por alguna extraña razón. Más información aquí si eres un juego.

Descargué el Visual Web Developer 2008 Express Edition mencionado por Eugene Lazutkin pero aún no he tenido la oportunidad de probarlo. Recomiendo probar eso antes del Editor / depurador de scripts.


3

No es un depurador completo, pero mis extensiones DP_DEBUG proporcionan algunas funciones útiles (creo) y funcionan en IE, Firefox y Opera (9+).

Puede "volcar" representaciones visuales de objetos JavaScript complejos (incluso objetos del sistema), hacer registros y tiempos simplificados. El componente proporciona métodos simples para habilitarlo o deshabilitarlo, de modo que pueda dejar el depurador en su lugar para el trabajo de producción si lo desea.

DP_Debug


2

Las herramientas de desarrollo de IE9 funcionaron para mí. Simplemente configure el elemento de menú "Modo de navegador" en IE7.


77
Esto es útil, pero el IE7 emulado no es lo mismo.
alex

Supongo que depende. Si puedo reproducir un problema en el modo emulado de IE9, lo arreglaré allí. De lo contrario, Firebug Lite es una buena solución, aunque necesitará tener IE7 instalado en algún lugar.
Peter Tseng

1

Hola, me encontré con el mismo problema y encontré esta aplicación IETESTER . Es bastante impresionante, es una aplicación que tiene IE 5.5,6 y 7 incluidos. No importa qué versión de IE tenga actualmente. Esto le permite tener múltiples versiones una al lado de la otra.

Si habilita la depuración de JavaScript en las opciones de IE y tiene instalado Visual Studio, incluso puede depurar el JavaScript en VS con todas las opciones de depuración disponibles (relojes, puntos de interrupción condicionales, etc.)

Si desea comenzar a depurar antes de que ocurra un error, simplemente tiene que poner la línea

debugger;

en su código JS y esto lo llevará a VS para comenzar a depurar después de esta declaración.

Esto es absolutamente sorprendente para mí para probar la compatibilidad con versiones anteriores para el código JS.


0

Utilice Internet Explorer 8. Luego, pruebe la herramienta para desarrolladores. Puede depurar en función de IE 7 también en modo de compatibilidad


17
IE7! = Modo de compatibilidad IE8. Hay incompatibilidades.
thorn̈

1
+1 Al menos IE8 le dice el nombre del archivo del script que está causando el error.
Coronel Sponsz

@thorn, pero hay un modo IE7. (¿Tal vez no hubo antes?) Entonces: modo regular, compatibilidad, modo IE7.
ANeves

1
@ANeves es solo nombres diferentes para la misma cosa
thorn̈

44
@ANeves Parece que el "modo IE7" es solo un "modo de compatibilidad" con un agente de usuario cambiado al utilizado por IE7. Pero quiero enfatizar nuevamente que el modo de compatibilidad no es tan compatible. Por ejemplo, reseting una propiedad de estilo a través de jQuery es la siguiente con Internet Explorer 7 (y otros navegadores): $my.css('z-index', null). En IE8, este código arroja un error, incluso en el llamado modo de compatibilidad. Así que tuve que escribir un código como este:$my.css('z-index', ie8 ? 'auto' : null)
thorn̈


0

La respuesta es simple.

  1. Obtén Internet Explorer 9
  2. Presione F12 para cargar las herramientas de desarrollador
  3. Cambie el modo del navegador a IE7

cambiar el modo del navegador en IE9


66
Porque no es confiable :( Todos los tickets abiertos en mi proyecto actual conectado a IE7 no son reproducibles en Vista de Windows 7
AlfeG

44
Podría ser útil si el error es reproducible. Pero hay algunos errores, que no ocurren en el IE9 con el modo IE7, sino en el IE7 original (lo mismo para IE8)
yunzen

0

Ejecutar su código a través de una herramienta de análisis estático de Javascript como JSLint puede detectar algunos errores comunes de IE7, como las comas finales en las definiciones de objetos.


0

Las herramientas para desarrolladores de IE8 pueden cambiar al modo IE7ingrese la descripción de la imagen aquí


0

Si aún necesita depurar IE 7, el modo de emulación de IE 11 está funcionando bastante bien.

Vaya al menú: Dev Tools, luego a emulación y configúrelo. También proporciona información de línea de error.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.