防止用户在浏览器中打开右键菜单、文本选中、复制内容、F12打开控制台的操作
# 右键菜单
document.oncontextmenu = function (event) {
event.preventDefault();
};
# 文本选中
if(document.all){
document.onselectstart= function(){return false;}; //for ie
}else{
document.onmousedown= function(){return false;};
document.onmouseup= function(){return true;};
}
document.onselectstart = new Function('event.returnValue=false;');
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
-khtml-user-select: none;
user-select: none;
# 复制内容
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;
}
}
# F12打开控制台
document.onkeydown = document.onkeyup = document.onkeypress = function(event) {
var e = event || window.event || arguments.callee.caller.arguments[0];
if (e && e.keyCode == 123) {
e.returnValue = false;
return (false);
}
}
# 检测用户打开控制台后强制跳转
var ConsoleManager = {
onOpen: function() {
alert('Console is opened');
},
onClose: function() {
alert('Console is closed');
},
init: function() {
var self = this;
var x = document.createElement('div');
var isOpening = false,
isOpened = false;
Object.defineProperty(x, 'id', {
get: function() {
if (!isOpening) {
self.onOpen();
isOpening = true;
}
isOpened = true;
}
});
setInterval(function() {
isOpened = false;
console.info(x);
console.clear();
if (!isOpened && isOpening) {
self.onClose();
isOpening = false;
}
}, 200);
}
};
ConsoleManager.onOpen = function() {
//打开控制台,跳转到百度
try {
window.open('https://www.baidu.com/', (target = '_self'));
} catch (err) {
var a = document.createElement('button');
a.onclick = function() {
window.open('https://www.baidu.com', (target = '_self'));
};
a.click();
}
};
ConsoleManager.onClose = function() {
alert('Console is closed!!!!!');
};