禁止用户打开HTML页面调试
2018-01-23 18:11
288 查看
有些时候,我们可能想要禁止用户修改或者调试我们HTML页面的代码,这个时候需要组织用户打开调试窗口,下面介绍一些能够阻止用户在浏览器中打开调试窗口的方法,这些方法只能一定程度的提高打开调试的门槛,并不能完全杜绝。
另外用户也可以通过浏览器菜单打开开发者工具来开启调试窗口,还有诸如 shift+ctrl+i 的快捷键打开控制台。
对于这种预先打开调试窗口的方法,我们可以通过比较屏幕 window.outerWidth 和页面可见内容区域 window.innerWidth 的差距判断是否打开控制台。
这种方法对于像IE8这种,打开调试窗口是在一个新的Windows窗口中,而不是在当前页面的下面或者上面的情况会失效。
原文地址:http://uusama.com/543.html
禁用F12
对于使用F12打开调试窗口的方法,我们只要注册F12按键的处理方法,并阻止默认事件行为即可:window.onkeydown = window.onkeyup = window.onkeypress = function (event) { // 判断是否按下F12,F12键码为123 if (event.keyCode = 123) { event.preventDefault(); // 阻止默认事件行为 window.event.returnValue = false; } }
禁用右键
对于使用右键菜单,在右键菜单里面选择查看源代码的行为,我们只要覆盖右键菜单点击事件的行为就即可:// 为右键添加自定义事件,可以禁用 window.oncontextmenu = function() { event.preventDefault(); // 阻止默认事件行为 return false; }
禁用预先调试
就算是同时禁用掉F12和右键,用户还是可以提前打开调试窗口,然后在地址中输入网址,这样就算不用右键和F12也是打开调试窗口的。另外用户也可以通过浏览器菜单打开开发者工具来开启调试窗口,还有诸如 shift+ctrl+i 的快捷键打开控制台。
对于这种预先打开调试窗口的方法,我们可以通过比较屏幕 window.outerWidth 和页面可见内容区域 window.innerWidth 的差距判断是否打开控制台。
var threshold = 160; // 打开控制台的宽或高阈值 // 每秒检查一次 setInternet(function() { if (window.outerWidth - window.innerWidth > threshold || window.outerHeight - window.innerHeight > threshold) { // 如果打开控制台,则刷新页面 window.location.reload(); } }, 1e3);
这种方法对于像IE8这种,打开调试窗口是在一个新的Windows窗口中,而不是在当前页面的下面或者上面的情况会失效。
原文地址:http://uusama.com/543.html
相关文章推荐
- js 禁止用户复制页面内容和修改html
- 【技术】iOS可禁止用户在新窗口打开页面
- html文本框不可编辑,禁止用户修改的几种方法
- 判断HTML页面是点击历史返回打开,还是正常跳转打开
- 在一个页面中嵌入一个html禁止整个页面产生滚动条解决方案
- 打开新的页面.HTML
- 页面第一次打开即给用户异步提示之Asp.net Ajax延迟加载UpdatePanel (转)
- HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)
- 微信开发js限制页面只能在微信浏览器打开 禁止外置浏览器
- HTML页面禁止选择、页面禁止复制、页面禁止右键
- jsp 文本框不可编辑,禁止文本框的输入,JSP页面中的文本框只显示内容,而用户无法修改
- 如何在Sublime Text中创建build system命令打开浏览器预览html页面
- html文本框不可编辑,禁止用户修改的几种方法
- 用户管理页面禁止删除自己
- html实现用户注册页面(表单+表格)——html小练习
- 在浏览器中禁止拖动页面的元素或者拖动图片打开新的窗口
- html页面禁止自动填充浏览器记住的密码
- 20个用户看了每天都想打开app的登录页面模板
- IOS 设备 通过HTML页面在线安装APP配置(面向越狱设备或者有开发者账号调试APP)
- HTML页面每次打开的时候都清除页面缓存