为什么我无法使用Chrome查看/调试jquery.html()加载的javascript

rub*_*com 6 javascript debugging ajax jquery google-chrome

我在$ .post回调上加载了一些内联javascript的html."喜欢那样"的东西:-)

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

但是当我这样做时,我看不到Chrome的Scripts选项卡上加载的新内联javascript.我看到网络选项卡上的JS和js正在执行,但我无法调试此代码.

有关如何调试此代码的任何想法?谢谢!

jAn*_*ndy 8

所有现代JS引擎都允许生成一个"in-code"的javascript断点.

为此,您需要debugger;在代码中的某处执行语句.一旦js引擎读取该命令,就会设置一个断点并加载调试器.

你可能想要一试.它可能仍然无法正常工作,因为动态脚本插入仍然可能是麻烦和痛苦,具体取决于您何时以及何时执行.

通过创建和插入新的更加"准确",这肯定是一个更好的想法 script element

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

document.body.appendChild(myscript);
Run Code Online (Sandbox Code Playgroud)