当我在谷歌Chrome中打开开发人员工具时,我看到了各种各样的功能,如配置文件,时间线和审计,但基本功能,如能够在js文件和html和javascript代码中设置断点是缺失的!我尝试使用javascript控制台,它本身就有bug——例如,一旦遇到JS错误,除非刷新整个页面,否则我无法摆脱它。有人能帮忙吗?
当前回答
如果你看不到“脚本”选项卡,请确保你启动Chrome时设置了正确的参数。当我用参数——remote-shell-port=9222启动Chrome调试服务器端JavaScript时,我遇到了这个问题。我没有问题,如果我启动Chrome没有参数。
其他回答
对于像我这样的人:只是想
(添加断点)调试正常的js代码 < >脚本…</script>内部/嵌入HTML
步骤:
来源->页面->顶部->找到你的html ->点击->右侧显示html和js脚本->添加断点->调试
我知道问题不是关于Firefox,但我不想添加这个问题的副本,只是自己回答它。
对于Firefox,您需要添加调试器;能够做什么@matt-ball建议的脚本标签。
所以在你的代码中,你在你想调试的行上面添加调试器,然后你可以添加断点。如果你只是在浏览器上设置断点,它不会停止。
如果这不是添加Firefox答案的地方,那么这个问题是关于Chrome的。不要:(如果没有答案,请告诉我应该把它贴在哪里,我会很高兴地把它移到哪里。:)
添加调试器;我的剧本对我很有用。
调试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]”
推荐文章
- Babel 6改变了它导出默认值的方式
- 如何配置历史记录?
- ES6模板文字可以在运行时被替换(或重用)吗?
- [Vue警告]:找不到元素
- 卸载Chrome开发工具
- 可以在setInterval()内部调用clearInterval()吗?
- AngularJS控制器的生命周期是什么?
- 无法读取未定义的属性“msie”- jQuery工具
- 我的蛋蛋怎么不见了?
- JavaScript中的排列?
- JavaScript中有睡眠/暂停/等待功能吗?
- 如何触发自动填充在谷歌Chrome?
- CSS变换,锯齿边缘在铬
- 如何禁用文本选择使用jQuery?
- 为什么Chrome浏览器不正确地确定页面是在不同的语言,并提供翻译?