Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Отладка кода внутри eval

Доступно, начиная с Firefox 36.

В Firefox версии 36 или старше доступна отладка кода, выполняемого с помощью eval() или конструктора Function.

Чтобы воспользоваться этой возможностью, используйте директиву //# sourceURL 

var button = document.getElementById("clickme");
button.addEventListener("click", evalFoo, false);

var script = "function foo() {" +
             "  console.log('called foo');" +
             "}" +
             "foo();//# sourceURL=my-foo.js";

function evalFoo() {
  eval(script);
}

Такой код присвоит исполняемому скрипту имя "my-foo.js".

Как только скрипт из строки script будет выполнен, он станет доступен в дебаггере как отдельный источник, а также будет доступен к отладке, как код из любого другого источника. Кроме этого, появится возможность, представить код в удобочитаемом виде:

Это имя также будет использоваться в стеке вызовов функций, доступном в веб-консоли.

Начиная с Firefox 40, оператор debugger; также останавливает дебаггер в безымянных источниках выполнения.

Метки документа и участники

Метки: 
 Обновлялась последний раз: pashutk,