当我在谷歌Chrome中打开开发人员工具时,我看到了各种各样的功能,如配置文件,时间线和审计,但基本功能,如能够在js文件和html和javascript代码中设置断点是缺失的!我尝试使用javascript控制台,它本身就有bug——例如,一旦遇到JS错误,除非刷新整个页面,否则我无法摆脱它。有人能帮忙吗?


当前回答

调试ajax返回的html内部脚本的另一个直观的简单技巧是临时将console.log("test")放在脚本中。

触发事件后,打开开发人员工具中的控制台选项卡。 您将看到源文件链接显示在"test"调试打印语句的右侧。只需单击源代码(类似VM4xxx),现在就可以设置断点了。

附注:此外,你可以考虑把“调试器”声明,如果你正在使用chrome,就像什么是由@Matt球的建议

其他回答

如果你看不到“脚本”选项卡,请确保你启动Chrome时设置了正确的参数。当我用参数——remote-shell-port=9222启动Chrome调试服务器端JavaScript时,我遇到了这个问题。我没有问题,如果我启动Chrome没有参数。

使用Visual Studio(2012)我有同样的问题,切换到IIS Express解决了问题!

脚本标记的type属性没有被考虑在内。

由于某些原因,Visual Studio开发服务器没有提供Chrome启用断点所需的一切。

你也可以给你的脚本一个名字:

< >脚本 ... (你的代码在这里) / / # sourceURL = somename.js > < /脚本

当然,用一些名字替换“someename”;)然后你会在chrome调试器“Sources > top > (no domain) > someename .js”中看到它作为一个正常的脚本,你将能够像其他脚本一样调试它

我知道问题不是关于Firefox,但我不想添加这个问题的副本,只是自己回答它。

对于Firefox,您需要添加调试器;能够做什么@matt-ball建议的脚本标签。

所以在你的代码中,你在你想调试的行上面添加调试器,然后你可以添加断点。如果你只是在浏览器上设置断点,它不会停止。

如果这不是添加Firefox答案的地方,那么这个问题是关于Chrome的。不要:(如果没有答案,请告诉我应该把它贴在哪里,我会很高兴地把它移到哪里。:)

你必须将type="text/javascript"添加到脚本块中,以便将它们作为脚本拾取。例如: <script type="text/javascript">…你的代码在这里…> < /脚本