检测形式有多种

键盘监听:是否按f12浏览器内外高度差值检测console利用代码运行时间差利用tostring检测栈的层数 caller...

反调伎俩

死循环 有限递归 两个办法相互调用 计时器 ...

解决方案

非虚拟机状况下    debugger处右键edit改为false    js文件重载,替换js文件虚拟机状况下(eval function)    能够将结构器置为空    Function.prototype.constructor = function(){}    或者谨严一点加个判断    var aaa = Function.prototype.constructor;    Function.prototype.constructor = function(x){        if (x=="debugger"){            return function(){};        }        return aaa;    }