tablas - ¿Cómo depurar dinámicamente el JavaScript cargado(con jQuery) en el propio depurador del navegador?
instalar javascript (4)
Observe que el archivo fuente que aparece en la pestaña de fuentes aparecerá de esta manera en el grupo (sin dominio) y, en caso de que desee depurarlo, deberá agregar un debugger;
línea en su código, haga que esa línea se ejecute (generalmente al comienzo de la ejecución de su archivo fuente) y luego agregue sus puntos de interrupción donde quiera.
En caso de que esté depurando etapas de producción, donde probablemente no tenga debugger;
líneas en su código, puede hacer que esto suceda al hacer un mapa local con CharlesProxy a su "nueva copia del archivo fuente con la línea debbuger insertada".
Una secuencia de comandos añadida dinámicamente no se muestra en la sección de scripts del depurador del navegador.
Explicación:
Necesito usar y he usado
if( someCondition == true ){
$.getScript("myScirpt.js", function() {
alert(''Load Complete'');
myFunction();
});
}
para que myScript.js se pueda cargar dinámicamente al cumplir alguna condición ... Y se puede llamar a myFunction solo después de cargar todo el script ...
Pero los navegadores no muestran el myScript.js cargado dinámicamente en la sección de scripts del depurador.
¿Hay otra forma de que todos los objetivos se logren lo que hará que uno pueda depurar un script cargado dinámicamente en el navegador mismo?
Puede asignar un nombre al script dinámicamente cargado para que se muestre en el depurador JavaScript de Chrome / Firefox. Para hacer esto, coloca un comentario al final del script:
//# sourceURL=filename.js
Este archivo se mostrará en la pestaña "Fuentes" como filename.js
. Según mi experiencia, puedes usar / ''s en el nombre pero obtengo un comportamiento extraño si utilizo /'' s.
Para obtener más información, consulte: Puntos de interrupción en la desactivación de JavaScript dinámico de // @ sourceurl
Puede usar //# sourceURL=
y //# sourceMappingURL=
al final de su archivo de script o etiqueta de script.
NOTA: //@ sourceURL
y //@ sourceMappingURL
están en desuso.
Traté de usar el "// # sourceURL = filename.js" sugerido como una solución por el OP, pero todavía no se mostraba en el panel de Fuentes a menos que ya existiera en mis pestañas de un momento anterior cuando produjo una excepción.
Codificando un "depurador"; línea lo forzó a romper en ese lugar. Luego, una vez que estaba en mis pestañas en el panel de Orígenes, podía establecer puntos de interrupción como normales y eliminar el "depurador"; línea.