当我在谷歌Chrome中打开开发人员工具时,我看到了各种各样的功能,如配置文件,时间线和审计,但基本功能,如能够在js文件和html和javascript代码中设置断点是缺失的!我尝试使用javascript控制台,它本身就有bug——例如,一旦遇到JS错误,除非刷新整个页面,否则我无法摆脱它。有人能帮忙吗?
当前回答
添加调试器;我的剧本对我很有用。
其他回答
您谈论的是<script>标记中的代码,还是HTML标记属性中的代码,就像这样?
<a href="#" onclick="alert('this is inline JS');return false;">Click</a>
无论哪种方式,像这样的调试器关键字都可以工作:
<a href="#" onclick="debugger; alert('this is inline JS');return false;">Click</a>
注意:如果开发工具没有打开,Chrome不会在调试器上暂停。
你也可以在JS文件和<script>标签中设置属性断点:
单击Sources选项卡 单击Show Navigator图标并选择文件 双击左侧空白处的a行号。相应的行被添加到Breakpoints面板(4)。
调试ajax返回的html内部脚本的另一个直观的简单技巧是临时将console.log("test")放在脚本中。
触发事件后,打开开发人员工具中的控制台选项卡。 您将看到源文件链接显示在"test"调试打印语句的右侧。只需单击源代码(类似VM4xxx),现在就可以设置断点了。
附注:此外,你可以考虑把“调试器”声明,如果你正在使用chrome,就像什么是由@Matt球的建议
添加调试器;我的剧本对我很有用。
我的处境以及我是如何改变的: 我有一个javascript文件包括在一个HTML页面如下: 页面名称:test.html
<!DOCTYPE html>
<html>
<head>
<script src="scripts/common.js"></script>
<title>Test debugging JS in Chrome</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>
<script type="text/javascript">
document.write("something");
</script>
</div>
</body>
</html>
现在进入Javascript调试器在Chrome,我点击脚本选项卡,并下拉列表如上所示。我可以清楚地看到scripts/common.js,但我不能在下拉菜单中看到当前的html页面test.html,因此我无法调试嵌入的javascript:
<script type="text/javascript">
document.write("something");
</script>
这令人费解。然而,当我从嵌入脚本中删除过时的type="text/javascript"时:
<script>
document.write("something");
</script>
..然后刷新/重新加载页面,瞧,它出现在下拉列表中,一切又恢复正常了。 我希望这对任何在html页面上调试嵌入式javascript有问题的人都有帮助。
我也有同样的问题,如何调试JavaScript是在<script>标签。但后来我在Sources选项卡下找到了它,名为“(index)”,带圆括号。单击行号以设置断点。
这是Chrome 71。
推荐文章
- 我如何使用Jest模拟JavaScript的“窗口”对象?
- 我如何等待一个承诺完成之前返回一个函数的变量?
- 在JavaScript中根据键值查找和删除数组中的对象
- 使嵌套JavaScript对象平放/不平放的最快方法
- 如何以及为什么'a'['toUpperCase']()在JavaScript工作?
- 有Grunt生成index.html不同的设置
- 如何禁用谷歌翻译从HTML在Chrome
- 文档之间的区别。addEventListener和window。addEventListener?
- 如何检查动态附加的事件监听器是否存在?
- 如何写setTimeout与参数Coffeescript
- 将JavaScript字符串中的多个空格替换为单个空格
- JavaScript: override alert()
- 重置setTimeout
- 如何确保<select>表单字段被禁用时提交?
- jQuery有不聚焦的方法吗?