
无限debugger
有的网站为了防止f12,故意设置成,如果打开了f12就进入无限debugger中,非常的烦人。那么如何实现呢?很简单,就是while循环而已,只不过 一般debugger是动态生成的。 你只要不打开f12控制台,debugger就不会生效而已
如何实现
javascript
<script>
setInterval(function () {
check()
}, 1000)
let check = function () {
(Function("debugger;"))()
// 或者下面的写法 都可以
/*;(function () {}['constructor']('debugger')())*/
}
</script>
解决办法
解决办法有很多种,下面的方法任选其一即可
在开发者工具中点击 "停用断点" 图标
重写关键函数
js
// 在打开开发者工具前执行
window.check = function() {};
- 修改debugger行为:
js
// 阻止debugger生效
const _constructor = Function.prototype.constructor;
Function.prototype.constructor = function() {
if (arguments[0] === 'debugger') return function(){};
return _constructor.apply(this, arguments);
};