zoukankan      html  css  js  c++  java
  • 禁止用户打开HTML页面调试

    有些时候,我们可能想要禁止用户修改或者调试我们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

  • 相关阅读:
    P1162 填涂颜色
    P1238 走迷宫
    U68364 _GC滑迷宫
    P4783 【模板】矩阵求逆
    P2613 有理数取余
    koa1链接mongodb
    koa的跨域访问
    mongodb 降序
    mongodb 分页(limit)
    mongodb 查询数据
  • 原文地址:https://www.cnblogs.com/youyoui/p/8337215.html
Copyright © 2011-2022 走看看