Почему я не вижу / отлаживаю JavaScript, загруженный с помощью jquery.html () с Chrome - PullRequest
6 голосов
/ 13 декабря 2011

Я загружаю html с некоторым встроенным JavaScript при обратном вызове $ .post.Что-то вроде этого: -)

callback{
response_data = '<p>string with html and </p><script "javascript">var scripts...</script>'
jQuery('#selector').html(response_data);
}

Но когда я это делаю, я не вижу новый встроенный JavaScript-код, загруженный на вкладку «Сценарии» в Chrome.Я вижу, что JS на вкладке Network и js выполняется, но я не могу отладить этот код.

Есть идеи о том, как отладить этот код?Спасибо!

1 Ответ

8 голосов
/ 13 декабря 2011

Все современные движки JS позволяют генерировать точку останова javascript «in-code».

Чтобы сделать это, вам нужно выполнить оператор debugger; где-нибудь в вашем коде.Как только механизм js читает эту команду, устанавливается точка останова и загружается отладчик.

Возможно, вы захотите сделать это.Это может все еще работать неправильно, так как динамическая вставка скрипта все еще может быть проблемой и болью, в зависимости от того, как и когда вы это сделаете.

Определенно, было бы лучше сделать это «точнее», создав и вставив новыйscript element

var myscript = document.createElement('script');
myscript.textContent = 'var scripts = 42; alert("hello");';
myscript.type = 'text/javascript';

document.body.appendChild(myscript);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...