禁止浏览器打开 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='
年轻人,不要太好奇
'
; 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;
    }
}

你可能感兴趣的:(前端,前端,javascript,html)