【JS】防止浏览器控制台被直接查看(1)
有些网站会禁止用户按 F12 查看源码的。
比如 17素材网,在打开某个素材选择预览的时候,就不允许按 F12。
毕竟【17 素材网】是需要付费才提供前端特效的,被你一个 F12 下去不就白嫖了吗?
其实要禁止用户按 F12 键的原理是监听用户输入事件。
复制代码
通过 document.onkeydown
、document.onkeyup
、document.onkeypress
全局监听 按键盘
的所有事件。
var e = event || window.event || arguments.callee.caller.arguments[0]
上面这句是兼容性写法。
e.keyCode
是获取键盘码,键盘上的每个按键,都有对应的一个编码。而 F12
对应的编码是:123。
当监听到用户按下 F12
按键,就执行 mAlert
函数,向用户返回一段信息;同时终止浏览器默认事件。所以浏览器就不会弹出控制台。
以上是一种防君子不防小人的方法。
因为除了按鼠标右键进入之外,还可以先打开一个空的页面,然后按下 F12,再输入网址。
这样照样能看到本来按 F12 才能看到的东西。
其实还有方法能防止用户查看控制台的,且听下回分解。
评论