É possível depurar o JavaScript de carregamento dinâmico por algum depurador como o WebKit, o FireBug ou o IE8 Developer Tool?
Deminha recente pergunta, Eu já criei algumas funções JavaScript para visualização parcial de carregamento dinâmico. Portanto, não posso depurar nenhum JavaScript de carregamento dinâmico. Porque todo o JavaScript carregado será avaliado pela função "eval".
No entanto, encontrei uma maneira de criar um novo JavaScript usando o script a seguir para criar dinamicamente o script no cabeçalho do documento atual. Todos os scripts carregados serão exibidos no HTML DOM (que você pode usar qualquer depurador para encontrá-lo).
var script = document.createElement('script')
script.setAttribute("type","text/javascript")
script.text = "alert('Test!');";
document.getElementsByTagName('head')[0].appendChild(script);
A propósito, a maioria dos depuradores (IE8 Developer Toolbar, Firebug e Google Chrome) não pode definir o ponto de interrupção em nenhum script dinâmico. Porque o script debuggable deve ser carregado na primeira vez após o carregamento da página.
Você tem idéia de depuração em conteúdo ou arquivo de script dinâmico?
Atualização 1 - Adicionar código fonte para teste
Você pode usar o seguinte arquivo xhtml para tentar depurar someVariable valor.
<!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>
Da resposta, eu apenas testei no FireBug. O resultado deve ser exibido como abaixo das imagens.
Por favor, veja o script "dynamicLoadingScript" que é adicionado após o carregamento da página.
Mas isso não foi encontrado na aba do script do FireBug
Atualização 2 - Criar ponto de interrupção de depuração no script de carregamento dinâmico
Ambas as imagens acima mostram a inserção de "depurador"; A instrução em alguma linha de script pode disparar o ponto de interrupção no script de carregamento dinâmico. No entanto, ambos os depuradores não mostram nenhum código no ponto de interrupção. Portanto, é inútil fazer isso.
Obrigado,