需求:

用户在没有打开控制台的时候,不显示某个字段;用户打开控制台的时候,才显示

问题:

我们前端如何判断用户打开了控制台

思考:

解决方案:

  • 监听事件(F12,或者鼠标组合键等)
  • 百度一下
  • 插件处理
过程:

监听事件:

  • 监听键盘F12键这个比较容易,但是要监听用户的鼠标事件就很困难
  • 打开控制台的方法有点多,自己很难每种方式都处理
  • 只能知道用户点了右键,但是点击后用户选择的是哪个就不知道了,自己手撸确实挺麻烦。

百度一下:

  • 网上提供了一些”奇淫技巧“
  • 提供一个比较权威的解决方案
  • https://stackoverflow.com/questions/7798748/find-out-whether-chrome-console-is-open#
  • 但是还是会有一些问题,他的原理就是重写了toString方法
  • 如果你调用了控制台就会调用console的方法,然后在处理toString方法的时候就会告诉你当前控制台的状态

插件处理:

  • github上有人专门处理这个问题,给出了一个包插件
  • 用第三方库来判断是比较省心的
  • 缺点可能就是代码重了点
  • https://github.com/sindresorhus/devtools-detect
  • 这个库挺好的,可以参考一下
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐