禁止F12
window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
// 判斷是否按下F12,F12鍵碼為123
if (event.keyCode = 123) {
event.preventDefault(); // 阻止默認事件行為
window.event.returnValue = false;
}
}
禁止右鍵
// 為右鍵添加自定義事件,可以禁用
window.oncontextmenu = function() {
event.preventDefault(); // 阻止默認事件行為
return false;
}
- 禁止預先調試和快捷鍵組合
- 提前打開調試窗口,然后在地址中輸入網址,這樣就算不用右鍵和F12也是打開調試窗口的;
- 通過瀏覽器菜單打開開發者工具來開啟調試窗口,還有諸如 shift+ctrl+i 的快捷鍵打開控制台
對於這種預先打開調試窗口的方法,我們可以通過比較屏幕 window.outerWidth 和頁面可見內容區域 window.innerWidth 的差距判斷是否打開控制台
var threshold = 160; // 打開控制台的寬或高閾值
// 每秒檢查一次
window.setInterval(function() {
if (window.outerWidth - window.innerWidth > threshold ||
window.outerHeight - window.innerHeight > threshold) {
// 如果打開控制台,則刷新頁面
window.location.reload();
}
}, 1e3);