2011-02-05 19 views
34

Quiero depurar (examinar DOM, utilizar la consola JS interactiva, etc.) parte de una aplicación web que está dentro de un cuadro de diálogo modal que fue creado por showModalDialog().Depurar un cuadro de diálogo modal (showModalDialog) en IE

No puedo encontrar la manera de usar las herramientas de desarrollo de IE-8 estándar para esto; El cuadro de diálogo no tiene una barra de herramientas y el acceso directo habitual (F12) no funciona.


Otra cuestión de forma (que por desgracia he perdido el enlace a) sugirió que la única solución es (tal vez temporalmente) showModalDialog() reemplazar con un anticuado window.open(). Si este es el caso, ¿hay una forma directa de hacerlo?

Advertencias:

  • La aplicación se preocupa por que pasan dialogArguments y el valor de retorno de showModalDialog
  • no puedo usar otros navegadores, FF + Firebug, etc.

Respuesta

60

F12 funciona para mostrar las herramientas de desarrollador si activa la barra de direcciones.

Go Herramientas/Opciones de Internet/Seguridad/(elegir la zona correcta para su sitio )/Personalizado Nivel Bajo "Varios" Bajo "Permitir sitios web a ventanas abiertas y sin dirección o de estado bares", elegir la opción "Desactivar" .

Fuente: https://stackoverflow.com/a/10984858/79835

+0

Solo en IE9 + sin embargo. ¡Gracias a Dios que ya no uso IE 8! – hugomg

+2

Estoy usando IE 8.0.7601 y funciona. Tal vez una actualización de seguridad agregó esto. – row1

+0

He ajustado esta configuración para la zona de mi sitio (y todos los demás, de hecho), pero el 'showModalDialog' todavía muestra un cuadro de diálogo sin barra de direcciones. Estoy usando IE 8.0.7601. – bentsai

7

lo hago creando un error en el código js, ​​que luego muestra la ventana de error que le pregunta si desea depurar el script.

una forma de hacerlo sería llamar a un método inexistente en algún lugar del código.

p. Ej. blabla();

+1

La depuración de scripts está desactivada de manera predeterminada en IE. Tuve que habilitarlo en las Opciones de Internet avanzadas. – hugomg

+0

La política de grupo de mi empresa me impide cambiar las opciones de seguridad, y está configurado para permitir ventanas sin dirección o barras de estado (me gusta cómo bloquean la configuración de una manera menos segura de lo que yo quiero). Entonces, esta fue la única forma en que pude abrir las herramientas de desarrollo. – Elezar

2

Lo que hago cuando estoy depurando ventanas modales son dos cosas.

  • Puede incluir en su código js el depurador de instrucciones; eso detendrá la ejecución de js como si hubieras puesto un punto de interrupción.
  • También puede abrir las herramientas de desarrollador antes de abrir la ventana modal y, una vez abierta, puede revisar el código generado en la pestaña del script, agregar puntos de interrupción, pausar la ejecución, ... todo lo que necesita.

espero que ayude!

2

Ahora puede poner la palabra debugger sin comillas en su Javascript.

IE y Chrome deberían romperse como si se hubiera establecido un punto de interrupción en él. Asegúrate de que está en una línea por sí mismo. Presione F12 para abrir el depurador del navegador y luego actualice su página o active el evento para ejecutar su javascript y el depurador debería mostrar automáticamente el código con el conjunto de puntos de interrupción.

+0

en IE, es posible que deba hacer clic en la pestaña Script del depurador y hacer clic primero en el botón "Comenzar a depurar". Al menos lo haces en IE9. – Bill

+0

'Comience a depurar' siempre quiere volver a cargar la página, eso es molesto. –

Cuestiones relacionadas