2010-04-29 24 views
8

Quiero depurar un archivo javascript que es incrustado en el elemento HEAD.¿Por qué la depuración de Firebug a veces funciona y otras no?

Navegación hasta el sitio, ver el código, y crea un punto de interrupción :

alt text http://www.deviantsart.com/upload/qfqbvu.png

Pero cuando hago clic en Actualizar , el guión desaparece y no se detiene en el punto de ruptura:

alt text http://www.deviantsart.com/upload/bqes25.png

La depuración estaba funcionando antes, así que sé que funciona en general. ¿Qué debo hacer para que Firebug siempre depure mi script?

+0

Le sugiero que comience utilizando Firebug> Firebug Icono Menú> Opciones> Reiniciar todo. Tiene cuatro opciones poco comunes y la mayoría sin probar establecidas: 1. scripts estáticos (probablemente bien a menos que falten scripts ;-), 2. descompile eval, que no tiene sentido con static, 3. show chrome, prob. ok 4. Track throw catch/ – johnjbarton

Respuesta

0

no estoy seguro de que tener un <script> dentro <head> (a diferencia de, por dentro <body>) es en realidad HTML legal. Si no es así, como sospecho, no puedes culpar a Firebug por no soportarlo bien ...! -)

+13

Tener '

2

También he notado este comportamiento antes. Parece que puede suceder si actualiza la página mientras se está ejecutando el depurador (es decir, después de llegar a su punto de interrupción y de acceder al código). Esto está lejos de ser concluyente, algo que he observado casualmente con el tiempo.

Además, trato de evitar tener múltiples pestañas abiertas con firebug activo, ya que parece confundirse.

Editar: sólo pensé que me gustaría añadir que he visto esta manifestarse de varias formas diferentes:

  • el archivo de script externo no aparece en absoluto en el panel de secuencias de comandos.

  • aparece el archivo de script externo pero firebug no lo "ve". Sabes que esto ha sucedido porque los números de línea junto al código donde se puede establecer un punto de interrupción no se resaltarán (solía ser verde, pero ahora parecen ser solo un tono más oscuro que otras líneas). He visto esto suceder con javascript en línea en una página HTML (¡horrores!) También.

  • el archivo de script externo está allí, pero solo puede ver una sola pantalla llena de código. Donde "pantalla completa" es la ventana del panel Firebug.
+0

La depuración de JS en varias pestañas tiene errores, solo debería evitarlo. – johnjbarton

0

Los errores en el procesamiento de secuencia de comandos que conozco son: 1) jQuery carga dinámica de secuencias de comandos falla, 2) nueva función() no puede ser visto, 3) algunos tipos de document.write() no se pueden ver.

Firebug procesa archivos de script en serie con Firefox. Esto significa que Firebug debe estar activo cuando se carga la página y significa que cualquier excepción en la ruta hará que los archivos sean mal procesados. Si abrió firebug antes de la carga y aún ve problemas, entonces la solución más probable es instalar Firebug en un nuevo perfil de Firefox. Esto hace que obtenga un conjunto completamente nuevo de opciones predeterminadas y ejecuta Firebug sin otras extensiones. A medida que vuelva a agregar otras extensiones, busque problemas al ver las secuencias de comandos: entonces, tal vez descubra qué extensión está interfiriendo con la ruta del código para procesar las secuencias de comandos. Sé que esto es un dolor en el cuello, pero también lo está depurando JS sin fuente ;-). Estamos trabajando en pruebas con más extensiones de Firebug y Firefox instaladas para tratar de reducir estos problemas.

1

apague Firefox y luego reinicie. a veces el firebug se confunde. también asegúrese de tener la última versión.

0

En nuestro caso fue la agrupación de archivos JS.

No es solo FireFox, es lo mismo para Chrome.

Sacamos el archivo del paquete y lo colocamos en la página donde debía ser referenciado y comenzó a funcionar como encanto.

1

Usted necesita activar la pestaña Script

enter image description here

Cuestiones relacionadas