禁止用户打开浏览器控制台
2018-03-24 13:23:09
1448次阅读
0个评论
如何在JS文件中检测用户浏览器是否打开了调试面板(F12打开开发者工具)
Chrome和Firefox下测试可用,IE和Edge下无效。
(function () {
var re = /x/;
var i = 0;
console.log(re);
re.toString = function () {
return '第 ' + (++i) + ' 次打开控制台';
};
})();
以上的方法原理是这样的:
控制台输出的内容如果是对象(包括正则表达式对象),则保留的是对象的引用,输出的会是对象的实时值,即对象内容被改变时,能够反映其变化(前提是重新开启控制台)。实际上是每次关闭再开启控制台的时候,重新调用对象的toString方法。
这里改写了re对象的toString方法,并用闭包保存计数器i,每次重新打开控制台toString方法就会被自动调用,并把计数器加1。另外这个方法是可以被破解的,只要在控制台右键调出相关菜单,点“Clear Console”,就全没了。00
相关话题
- 最新禁止用户打开浏览器控制台
- hack来区分不同的IE浏览器
- 解决安卓浏览器文本无法垂直居中的问题
- IE7/IE8浏览器纯CSS实现圆角效果
- 解决IE浏览器不支持Spring MVC 文件下载的问题
- 解决spring mvc 返回json对象时ie浏览器访问会出现下载文件弹出框
- Sourcetree 打开闪退怎么处理
- Redis统计今日签到用户数和用户是否签到
- nginx负载均衡,某台tomcat宕机后集群响应缓慢
- Log4j2禁止自动初始化
- Fabric.js进阶自订控制项
- 使用Redis bitmap统计活跃用户
- Redis BitMap 统计用户活跃指标
- springboot添加定时器
- Fabric.js 物件控制项样式调整