当我在谷歌Chrome中打开开发人员工具时,我看到了各种各样的功能,如配置文件,时间线和审计,但基本功能,如能够在js文件和html和javascript代码中设置断点是缺失的!我尝试使用javascript控制台,它本身就有bug——例如,一旦遇到JS错误,除非刷新整个页面,否则我无法摆脱它。有人能帮忙吗?
当前回答
调试ajax返回的html内部脚本的另一个直观的简单技巧是临时将console.log("test")放在脚本中。
触发事件后,打开开发人员工具中的控制台选项卡。 您将看到源文件链接显示在"test"调试打印语句的右侧。只需单击源代码(类似VM4xxx),现在就可以设置断点了。
附注:此外,你可以考虑把“调试器”声明,如果你正在使用chrome,就像什么是由@Matt球的建议
其他回答
我遇到了这个问题,但是我的内联函数是在一个angularJS视图中。因此,在加载时,我无法访问内联脚本来添加调试,因为只有index.html在调试器的sources选项卡中可用。
这意味着,当我打开特定的视图与我的内联(没有选择在这)是不可访问的。
我能击中它的唯一方法是把一个错误的函数或调用内联JS函数。
我的解决方案包括:
function doMyInline(data) {
//Throw my undefined error here.
$("select.Sel").debug();
//This is the real onclick i was passing to
angular.element(document.getElementById(data.id)).scope().doblablabla(data.id);
}
这意味着当我点击我的按钮,我就会在chrome控制台提示。
Uncaught TypeError: undefined is not a function
这里重要的事情是它的来源:VM5658:6单击它可以让我遍历内联并将断点保留在那里以供以后使用。
极其复杂的到达方式。但是当处理动态加载视图的单页应用程序时,它是有用的。
虚拟机[n]无显著值,n on等于脚本ID。此信息可以在这里找到:Chrome“[VM]”
我的处境以及我是如何改变的: 我有一个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有问题的人都有帮助。
在脚本选项卡上打开开发人员工具时,刷新包含脚本的页面。这将在文件列表中添加一个(程序)条目,显示页面的html(包括脚本)。从这里可以添加断点。
如果你看不到“脚本”选项卡,请确保你启动Chrome时设置了正确的参数。当我用参数——remote-shell-port=9222启动Chrome调试服务器端JavaScript时,我遇到了这个问题。我没有问题,如果我启动Chrome没有参数。
我也有同样的问题,如何调试JavaScript是在<script>标签。但后来我在Sources选项卡下找到了它,名为“(index)”,带圆括号。单击行号以设置断点。
这是Chrome 71。
推荐文章
- 检测用户何时离开网页的最佳方法?
- 当“模糊”事件发生时,我如何才能找到哪个元素的焦点去了*到*?
- React不会加载本地图像
- 如何将Blob转换为JavaScript文件
- 在另一个js文件中调用JavaScript函数
- 如何在svg元素中使用z索引?
- 如何求一个数的长度?
- 跨源请求头(CORS)与PHP头
- 如何用Express/Node以编程方式发送404响应?
- parseInt(null, 24) === 23…等等,什么?
- JavaScript变量声明在循环外还是循环内?
- Python内存泄漏
- 元素在“for(…in…)”循环中排序
- 在哪里放置JavaScript在HTML文件?
- 使用Visual Studio调试器在值更改时中断