aboutsummaryrefslogtreecommitdiff
path: root/files/ru/tools/debugger/how_to/debug_eval_sources/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/tools/debugger/how_to/debug_eval_sources/index.html')
-rw-r--r--files/ru/tools/debugger/how_to/debug_eval_sources/index.html36
1 files changed, 36 insertions, 0 deletions
diff --git a/files/ru/tools/debugger/how_to/debug_eval_sources/index.html b/files/ru/tools/debugger/how_to/debug_eval_sources/index.html
new file mode 100644
index 0000000000..29224f2590
--- /dev/null
+++ b/files/ru/tools/debugger/how_to/debug_eval_sources/index.html
@@ -0,0 +1,36 @@
+---
+title: Отладка кода внутри eval
+slug: Tools/Debugger/How_to/Отладка_кода_внутри_eval
+tags:
+ - Отладка
+translation_of: Tools/Debugger/How_to/Debug_eval_sources
+---
+<div>{{ToolsSidebar}}</div><div class="geckoVersionNote">
+<p>Доступно, начиная с Firefox 36.</p>
+</div>
+
+<p><code><font face="Open Sans, Arial, sans-serif">В Firefox версии 36 или старше доступна отладка кода, выполняемого с помощью </font><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval">eval()</a></code> или конструктора <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function"><code>Function</code></a>.</p>
+
+<p>Чтобы воспользоваться этой возможностью, используйте директиву <code>//# sourceURL </code>: </p>
+
+<pre class="brush: js">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);
+}</pre>
+
+<p>Такой код присвоит исполняемому скрипту имя "my-foo.js".</p>
+
+<p>Как только скрипт из строки <code>script</code> будет выполнен, он станет доступен в дебаггере как отдельный источник, а также будет доступен к отладке, как код из любого другого источника. Кроме этого, появится возможность, <a href="/ru/docs/Tools/Debugger/How_to/Работа_с_минифицированным_кодом">представить код в удобочитаемом виде</a>:</p>
+
+<p><img alt="" src="https://mdn.mozillademos.org/files/9781/debug-eval-source-url.png" style="display: block; margin-left: auto; margin-right: auto; width: 836px;"></p>
+
+<p>Это имя также будет использоваться в стеке вызовов функций, доступном в <a href="/ru/docs/Tools/Web_Console#Error_messages">веб-консоли</a>.</p>
+
+<p>Начиная с Firefox 40, оператор <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/debugger">debugger;</a></code> также останавливает дебаггер в безымянных источниках выполнения.</p>