- 时间:2020-09-11 23:26 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:chrome浏览器如何断点调试异步加载的JS
[b]前言[/b]
在我们日常开发中,常常利用chrome强大的控制台Sources下面进行代码断点调试,但是通过[code]$.getScript[/code]等异步加载JS的方式在Sources里面就是找不到,那如何进行debug断点调试呢?下面来一起看看。
这是我们用Sources断点调试的实例图:
[img]http://files.jb51.net/file_images/article/201609/201695110036695.png?20168511044[/img]
图中我们可以看到,在index.js中我们通过[code]$.getScript[/code]引入test.js,看看表现如何:
[img]http://files.jb51.net/file_images/article/201609/201695110100543.png?2016851118[/img]
我们在Network中看到test.js已经成功引入,但是它却属于XHR类请求,这样我们在Sources必然找不到它。
[img]http://files.jb51.net/file_images/article/201609/201695110141476.png?20168511150[/img]
不出所料,Sources里果然没有发现test.js的踪迹!高潮来了,那还怎么进行断点调试呢???
我知道两个方案,先来最简单的:
[b]方案一:[/b] 在test.js代码的头部或者尾部加上[code]//@ sourceURL=test.js[/code],然后在[code](no domain)[/code]里面找到它进行调试,看看结果:
[img]http://files.jb51.net/file_images/article/201609/201695110220816.png?20168511228[/img]
[b]方案二:[/b] 把[code]$.getScript[/code]这种异步的方式换成创建script标签同步加载的方式,直接上图:
[img]http://files.jb51.net/file_images/article/201609/201695110253982.png?2016851131[/img]
[b]总结[/b]
控制台断点对我们进行代码检查、功能检测、数据查看等等需求太有用了,我们尽量用断点替换那烦人的console.log吧,以上就是这篇文章的全部内容,希望对大家的学习和工作能有所帮助,如果有疑问大家可以留言交流。