Debug eval sources
Cette page concerne le Débogueur JavaScript dans les versions antérieures à Firefox 52.
Il est possible de déboguer du code JavaScript qui à été évalué dynamiquement, soit en étant passé sous forme de chaine de caractères à la fonction eval()
, soit en étant passé sous forme de chaine caractère au constructeur d'une fonction
.
Pour faire cela, il est nécessaire d'utiliser l'instruction //# sourceURL
pour nommer la source :
var button = document.getElementById("clickme");
button.addEventListener("click", evalFoo, false);
var script = "function foo() {" +
" console.log('foo a été appelée');" +
"}" +
"foo();//# sourceURL=mon-foo.js";
function evalFoo() {
eval(script);
}
Cela nome le script "mon-foo.js".
Une fois que la chaine a été évaluée, le script apparaitra dans le Débogueur comme une source séparée et sera entièrement débogable comme toutes les autres sources. Il sera également possible de l'afficher joliment :
Le nom du script apparaitra également dans la pile d'exécution dans la Console Web.
Le Débogueur s’arrêtera également aux expressions debugger;
dans les sources évaluées anonymes