Un script agregado dinámicamente no aparece 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 myFunction se puede llamar solo después de cargar todo el script ...
Pero los navegadores no muestran el myScript.js cargado dinámicamente en la sección de script de su depurador.
¿Hay otra forma de evitar todos los objetivos, lo que hará que uno pueda depurar un script cargado dinámicamente en el navegador mismo?
javascript
debugging
dynamic
loaded
TwiToiT
fuente
fuente
debugger;
para detener automáticamente en el script cargado dinámico, consulte javascript.info/debugging-chromeRespuestas:
Puede darle un nombre a su script cargado dinámicamente para que se muestre en el depurador de 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
. En mi experiencia, puede usar \ 's en el nombre, pero obtengo un comportamiento extraño si uso /' s.Para obtener más información, consulte: Puntos de interrupción en la desactivación de JavaScript dinámico de // @ sourceurl
fuente
Puede utilizar
//# sourceURL=
y//# sourceMappingURL=
al final de su archivo de secuencia de comandos o etiqueta de secuencia de comandos.NOTA:
//@ sourceURL
y//@ sourceMappingURL
están en desuso.fuente
Intenté usar el "// # sourceURL = filename.js" que fue sugerido como una solución por el OP, pero todavía no aparecía en el panel de Fuentes a menos que ya existiera en mis pestañas de una vez anterior cuando produjo una excepción.
Codificar un "depurador"; la línea lo obligó a romperse en ese lugar. Luego, una vez que estuvo en mis pestañas en el panel de Fuentes, pude establecer puntos de interrupción como de costumbre y eliminar el "depurador"; línea.
fuente
debugger;
, y DevTools tenía que estar abierto mientras se cargaba el script.//# sourceURL=browsertools://yourdomaingoeshere.com/action-openuwws.js
Tenga en cuenta que el archivo fuente que aparece en la pestaña de fuentes de esta manera aparecerá en el grupo (sin dominio) y, en caso de que desee depurarlo, deberá agregar una
debugger;
línea en su código, hacer que esa línea se ejecute (generalmente en el inicio de la ejecución de su archivo fuente) y luego agregue sus puntos de interrupción donde lo desee.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 haciendo un mapa local con CharlesProxy a su "copia nueva del archivo fuente con la línea del depurador insertada".fuente
Cuando intento rastrear este tipo de cosas en IE, abro las herramientas de desarrollo (F12) y luego encuentro dónde colocar el punto de interrupción usando la siguiente línea en la consola:
debugger;myFunction();
Eso cambia a la pestaña del depurador donde puede ingresar
myFunction()
y establecer el punto de interrupción.fuente