¿Es posible depurar el JavaScript de carga dinámica por algún depurador como WebKit, FireBug o IE8 Developer Tool?

Desdemi pregunta reciente, Ya he creado alguna función de JavaScript para la vista parcial de carga dinámica. Por lo tanto, no puedo depurar ningún JavaScript de carga dinámica. Porque todo el JavaScript cargado será evaluado por la función "eval".

Sin embargo, encontré alguna forma de crear un nuevo JavaScript utilizando el siguiente script para crear dinámicamente el script en el encabezado del documento actual. Todos los scripts cargados se mostrarán en HTML DOM (que puede usar cualquier depurador para encontrarlo).

var script = document.createElement('script')
script.setAttribute("type","text/javascript")
script.text = "alert('Test!');";

document.getElementsByTagName('head')[0].appendChild(script);

Por cierto, la mayoría de los depuradores (IE8 Developer Toolbar, Firebug y Google Chrome) no pueden establecer un punto de interrupción en ningún script dinámico. Debido a que el script debuggable se debe cargar la primera vez que se carga la página.

¿Tiene alguna idea para depurar en el contenido o archivo de script dinámico?

Actualización 1 - Añadir código fuente para la prueba

Puede usar el siguiente archivo xhtml para intentar depurar el valor de algunas variables.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>    
    <title>Dynamic Loading Script Testing</title>
    <script type="text/javascript">
    function page_load()
    {       
        var script = document.createElement('script')
        script.setAttribute("id", "dynamicLoadingScript");
        script.setAttribute("type","text/javascript");
        script.text =   "var someVariable = 0;\n" +
                        "someVariable = window.outerWidth;\n" +
                        "alert(someVariable);";

        document.getElementsByTagName('head')[0].appendChild(script);
    }
    </script>
</head>
<body onload="page_load();">
</body>
</html>

De la respuesta, acabo de probarlo en FireBug. El resultado debe mostrarse como las imágenes de abajo.

alt text

Mire la secuencia de comandos "dynamicLoadingScript" que se agrega después de cargar la página.

alt text http://d7cgnq.bay.livefilestore.com/y1pz_RwqjgeVqe2mAlUZha0PalpPdP0X5AiwJcQhYahERleaspaccesas de las costillas de los momentos de la actividad de las personas de la naturaleza en los momentos de la naturaleza de las actividades de las personas de la naturaleza de la naturaleza.

Pero no se encuentra en la pestaña de script de FireBug

Actualización 2 - Crear punto de interrupción de depuración en el script de carga dinámica

alt text http://d7cgnq.bay.livefilestore.com/y1peKdIMOztXss-pc8PlJEmaGov_0ShYnLsuDdK5OLETbCG0UpkX6Te29w0YW2pNKaD0KiD0KiOh2GdGPAAX6Te29wEncuentro de actividades en el mundo.

alt text http://d7cgnq.bay.livefilestore.com/y1pUeHaHoTXj0WBl74fnTrXwdr_y7s7h8jNKfslSONgshzZBpUddGP.Casos

Las dos imágenes anteriores muestran la inserción de "depurador"; La declaración en alguna línea de script puede disparar un punto de interrupción en el script de carga dinámica. Sin embargo, ambos depuradores no muestran ningún código en el punto de interrupción. Por lo tanto, es inútil hacer esto.

Gracias,

Respuestas a la pregunta(12)

Su respuesta a la pregunta