原文地址: https://segmentfault.com/a/11...
其实我也不太确定是不是反调试,但是他阻止我看他代码了,那就是反调试,姑且这么称呼吧。

问题复现

一次扒某网站的前端代码,打开控制台要看Network,结果发现他们页面一打开控制台就不断的debugger100ms一次,很影响看页面内容。就像下面这样的

clipboard.png

问题分析

每次在断点处停下来的时候页面都会跳到source这个tab页面,也能够看到他的debugger的代码,其实他的实现很简单,只有这一行代码

(function() {var a = new Date(); debugger; return new Date() - a > 100;}())

虽然简单,但是却很有效。

  • 不停地打断你,页面跳到source页面,阻止你看他代码不
  • 断的产生不可回收的对象,占据你的内存,造成内存泄漏,没过多久浏览器就会卡顿

所以他带来的影响还是挺大的,我们需要解决这个问题。

问题解决

这个问题解决起来还是蛮简单的,问题解决只需要一句话:禁止断点
而对应的操作是在Chrome控制台Source Tab页点击Deactivate breakpoints按钮或者按下Ctrl + f8(下图)。

clipboard.png

这样就能禁用断点了,问题就得到了解决,但是当你需要调试的时候记得要起他哦。很简单的操作,但是你如果对Chrome控制台调试不熟悉的话还是比较头疼的。在这里记录一下,分享给更多的人。


如果觉得我的文章对你有用,请随意赞赏
TommyHu · 6月1日

最近也遇到了,真是的,还不让看代码,文章转载了

回复

载入中...