禁止浏览器打开 F12 调试

事出有因

众所周知,前端工程师的毛病,总喜欢使用F12进行调试

  • 有些人,喜欢审查元素,参考别人家的CSS样式,然后方便进行复制粘贴
  • 有些人,喜欢查看网络,查看别人的请求接口,方便抓别人家的接口

虽然以下方法也没办法最终解决问题,但也给不少人设置了一道难关,给一些小白阻挡在大门之外,方法总是很多的,都是自己参考以下方案进行解决。

解决方法

方法1

$(function(){
    $(document).bind("contextmenu", function () {
            return false; 
    });//禁止右键
    document.oncontextmenu = function () {
            return false; 
    };
    document.onkeydown = function () {
        if (window.event && window.event.keyCode == 123) {
            event.keyCode = 0;
            event.returnValue = false;
            return false;
        }
    };//禁止F12
})

方法2

<script type="text/javascript">
        //禁用右键(防止右键查看源代码) 
    window.oncontextmenu=function(){return false;} 
    //禁止任何键盘敲击事件(防止F12和shift+ctrl+i调起开发者工具) 
    window.onkeydown = window.onkeyup = window.onkeypress = function () { 
        window.event.returnValue = false; 
        return false; 
    } 
    //如果用户在工具栏调起开发者工具,那么判断浏览器的可视高度和可视宽度是否有改变,如有改变则关闭本页面 
    var h = window.innerHeight,w=window.innerWidth; 
    window.onresize = function () { 
        if (h!= window.innerHeight||w!=window.innerWidth){ 
            window.close(); 
            window.location = "about:blank"; 
        } 
    }
</script>

方法3

(function noDebuger(){
    function testDebuger(){
        var d=new Date();
        debugger;
        if(new Date()-d>10){
            document.body.innerHTML='<div>年轻人,不要太好奇</div>';
            return true;
        }
        return false;
    }
  
    function start(){
        while(testDebuger()){
            testDebuger();
        }
    }
    if(!testDebuger()) {
        window.onblur = function(){
            setTimeout(function(){
                start();
            },500)
        }
    }
    else{
        start();
    }
  
})();

方法4

window.onload = function () {
    //禁止F12
    $("*").keydown(function (e) {//判断按键
            e = window.event || e || e.which;
            if (e.keyCode == 123) {
                    e.keyCode = 0;
                    return false;
            }
    });

    //禁止审查元素
    $(document).bind("contextmenu",function(e){
            return false;
    });
};

//禁止右键
document.oncontextmenu = function(e) {alert('别看啦,宝宝好羞涩*^_^');return false;};

其他禁止

//禁用Ctrl + s
window.addEventListener('keydown', function (e) {
        if(e.keyCode == 83 && (navigator.platform.match('Mac') ? e.metaKey : e.ctrlKey)){
                e.preventDefault();
        }
});
//禁止任何键盘敲击事件(防止F12和shift+ctrl+i调起开发者工具)
window.onkeydown = window.onkeyup = window.onkeypress = function () {
        window.event.returnValue = false;
        return false;
}
//屏蔽复制
document.oncopy = function (event) {
    if (window.event) {
        event = window.event;
    }
    try {
        var the = event.srcElement;
        if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
            return false;
        }
        return true;
    } catch (e) {
        return false;
    }
};
//屏蔽张贴
document.onpaste = function (event) {
    if (window.event) {
        event = window.event;
    }
    try {
        var the = event.srcElement;
        if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
            return false;
        }
        return true;
    } catch (e) {
        return false;
    }
}
  • 8
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值