全局禁用
export default () => {
(() => {
function block() {
if (window.outerHeight - window.innerHeight > 200 ||window.outerWidth - window.innerWidth > 200) {
document.body.innerHTML ="检测到非法调试,请关闭后刷新重试!";
}
setInterval(() => {
if (typeof console.clear == 'undefined') {
document.body.innerHTML = "检测到非法调试";
//location.reload();
}
(function () {
return false;
}
["constructor"]("debugger")
["call"]());
}, 50);
}
try {
block();
} catch (err) {}
})();
// document.onselectstart = new Function("event.returnValue=false");
document.onselectstart = event=>event.returnValue=false
document.oncontextmenu = function () {
return false;
};
interface Event {
altKey: any
}
interface Window {
event: Event
[key: string]: any
}
document.onkeydown = function (e) {
if (window?.event?.altKey as Window) {
return false;
}
if (window?.event?.ctrlKey as any) {
return false;
}
if (window?.event?.shiftKey) {
return true;
}
if (e.keyCode === 112 || e.keyCode === 113 || e.keyCode === 114 || e.keyCode === 115 || e.keyCode === 117 || e.keyCode === 118 || e.keyCode === 119 || e.keyCode === 120 || e.keyCode === 121 || e.keyCode === 122 || e.keyCode === 123) {
return false;
}
}
}
局部启用
局部启用的话就是在想要使用键盘事件的元素上重新绑定事件就行,尤其注意,阻止冒泡,这一步必须有