禁用控制台调试代码
var h = window.innerHeight,w=window.innerWidth;
window.oncontextmenu=function(){return false;}
window.addEventListener("keydown", function(e) {
if (e.keyCode == 123) {
window.event.returnValue = false;
console.log("为了安全,在打浏览器开发者工具下不能访问系统");
return false;
} else if((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)){
window.event.returnValue = false;
console.log("为了安全,在打浏览器开发者工具下不能访问系统");
return false;
}else if((e.shiftKey) && (e.keyCode == 121)){
window.event.returnValue = false;
return false;
}else if((e.ctrlKey) && (e.keyCode == 85)){
window.event.returnValue = false;
return false;
}else if ((e.ctrlKey) && (e.keyCode == 83)) {
window.event.returnValue = false;
return false;
}
}, false);
//如果用户在工具栏调起开发者工具,那么判断浏览器的可视高度和可视宽度是否有改变,如有改变则关闭本页面
window.onresize = function () {
// if (h != window.innerHeight||w!=window.innerWidth){
// window.location.reload();
//}
};
function checkDebugger(){
const d=new Date();
debugger;
const dur=Date.now()-d;
if(dur<5){
return false;
}else{
window.close();
window.location = "about:blank";
return true;
}
};
function breakDebugger(){
if(checkDebugger()){
breakDebugger();
}
};
(function isConsoleOpen() {
breakDebugger();
})();
(function(){
var re=/x/;
var i=0;
console.log(re);
re.toString=function(){
window.close();
window.location = "about:blank";
console.log("为了安全,在打浏览器开发者工具下不能访问系统");
}
})();
但是禁用快捷键在IE上并不能适用,所以贴上我之前使用的兼容IE的代码
//禁用控制台打开
document.onkeydown = function (e) {
var currKey = 0, evt = e || window.event;
currKey = evt.keyCode || evt.which || evt.charCode;
if ((currKey == 123) || ((event.ctrlKey == true) && (event.shiftKey == true) && (currKey == 73))) {
layer.msg('控制台不见了呢', {
time: 1000
});
window.event.cancelBubble = true;
window.event.returnValue = false;
return false;
}
}