//屏蔽右键菜单
document.oncontextmenu = 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.oncut = 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
function fuckyou() {
window.close(); //关闭当前窗口(防抽)
window.location = "about:blank"; //将当前窗口跳转置空白页
}//禁止Ctrl+U
var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"), //禁用右键
window.onkeydown = function (e) {
var keyCode = e.keyCode || e.which || e.charCode;
var ctrlKey = e.ctrlKey || e.metaKey;
console.log(keyCode + "--" + keyCode);
if (ctrlKey && keyCode == 85) {
e.preventDefault();
}
if (arr.indexOf(keyCode) > -1) {
e.preventDefault();
}
}
function ck() {
console.profile();
console.profileEnd();
//我们判断一下profiles里面有没有东西,如果有,肯定有人按F12了,没错!!
if (console.clear) {
console.clear()
};
if (typeof console.profiles == "object") {
return console.profiles.length > 0;
}
}
function hehe() {
if ((window.console && (console.firebug || console.table && /firebug/i.test(console.table()))) || ( typeof opera == 'object' && typeof opera.postError == 'function' && console.profile.length > 0)) {
fuckyou();
}
if (typeof console.profiles == "object" && console.profiles.length > 0) {
fuckyou();
}
}
hehe();
window.onresize = function () {
if ((window.outerHeight - window.innerHeight) > 200)
//判断当前窗口内页高度和窗口高度,如果差值大于200,那么呵呵
fuckyou();
}
document.onkeydown = function (event) {
if ((event.keyCode == 112) || //屏蔽 F1
(event.keyCode == 113) || //屏蔽 F2
(event.keyCode == 114) || //屏蔽 F3
(event.keyCode == 115) || //屏蔽 F4
// (event.keyCode == 116) || //屏蔽 F5
(event.keyCode == 117) || //屏蔽 F6
(event.keyCode == 118) || //屏蔽 F7
(event.keyCode == 119) || //屏蔽 F8
(event.keyCode == 120) || //屏蔽 F9
(event.keyCode == 121) || //屏蔽 F10
(event.keyCode == 122) || //屏蔽 F11
(event.keyCode == 123)) { //屏蔽 F12
return false;
}
}
window.onhelp = function () {
return false;
};
function forbidKeyboard() {
$(document).keydown(function(e) {
/*9:Tab键, 17:Control键, 18:Alt键, 123:F12键, 83:S键*/
var keyboardCode = [9, 17, 18];
for (i in keyboardCode) {
if (keyboardCode[i] == e.keyCode) {
return false;
}
}
if ((e.keyCode == 83) && (e.ctrlKey || e.metaKey)) {
return false;
}
});
/*禁止文本选择功能*/
$(document).bind("selectstart",function(){return false;});
}
$(function(){
forbidKeyboard();
});
如果碰到了各种屏蔽功能怎么办看到了这么多的函数,那就都重写一下吧,不知道为什么这样子重写的小伙伴可以参考一下
window.addEventListener('beforeunload', function (e) { e.preventDefault();e.returnValue = '' });
// 重定义事件处理函数为空函数
document.oncontextmenu = function() {};
document.oncut = function() {};
window.onkeydown = function() {};
window.onresize = function() {};
window.onhelp = function() {};
// 等待DOM完全加载
window.addEventListener('load', function() {
// 在尝试覆盖它们之前检查函数是否存在
var originalFuckYou = window.fuckyou || function() {};
var originalCk = window.ck || function() {};
var originalHehe = window.hehe || function() {};
var originalForbidKeyboard = window.forbidKeyboard || function() {};
// 覆盖函数
window.fuckyou = function() {
console.log("fuckyou 函数现在为空。");
// 可选地,如果需要可以调用原始函数
// originalFuckYou();
};
window.ck = function() {
console.log("ck 函数现在为空。");
// originalCk();
};
window.hehe = function() {
console.log("hehe 函数现在为空。");
// originalHehe();
};
window.forbidKeyboard = function() {
console.log("forbidKeyboard 函数现在为空。");
// originalForbidKeyboard();
};
// 尝试移除通过jQuery绑定的事件监听器,如果它们存在
try {
$(document).off("keydown");
$(document).off("selectstart");
} catch (e) {
console.log("未能移除 jQuery 事件绑定,或 jQuery 未加载。");
}
});
然后把以上代码放到油猴脚本里面,万事搞定,以下是油猴脚本
// ==UserScript==
// home.php?mod=space&uid=170990 头号老玩家解除限制
// home.php?mod=space&uid=467642 http://tampermonkey.net/
// home.php?mod=space&uid=1248337 2024-04-23
// @description 头号老玩家解除限制,使得可以右键菜单、剪切、Ctrl+U、F1~F12、文本选择、Tab键、Control键、Alt键
// home.php?mod=space&uid=686208 hualy
// home.php?mod=space&uid=195849 https://www.thlaowanjia.com/3554.html
// home.php?mod=space&uid=593100 https://www.google.com/s2/favicons?sz=64&domain=thlaowanjia.com
// home.php?mod=space&uid=609072 none
// ==/UserScript==
(function() {
'use strict';
// 测试使用
// window.addEventListener('beforeunload', function (e) { e.preventDefault();e.returnValue = '' });
// 重定义事件处理函数为空函数
document.oncontextmenu = function() {};
document.oncut = function() {};
window.onkeydown = function() {};
window.onresize = function() {};
window.onhelp = function() {};
// 等待DOM完全加载
window.addEventListener('load', function() {
// 在尝试覆盖它们之前检查函数是否存在
var originalFuckYou = window.fuckyou || function() {};
var originalCk = window.ck || function() {};
var originalHehe = window.hehe || function() {};
var originalForbidKeyboard = window.forbidKeyboard || function() {};
// 覆盖函数
window.fuckyou = function() {
console.log("fuckyou 函数现在为空。");
// 可选地,如果需要可以调用原始函数
// originalFuckYou();
};
window.ck = function() {
console.log("ck 函数现在为空。");
// originalCk();
};
window.hehe = function() {
console.log("hehe 函数现在为空。");
// originalHehe();
};
window.forbidKeyboard = function() {
console.log("forbidKeyboard 函数现在为空。");
// originalForbidKeyboard();
};
// 尝试移除通过jQuery绑定的事件监听器,如果它们存在
try {
$(document).off("keydown");
$(document).off("selectstart");
} catch (e) {
console.log("未能移除 jQuery 事件绑定,或 jQuery 未加载。");
}
});
// 如果这些函数是通过页面中的其他脚本定义的,并且定义在油猴脚本之前,
// 它们可能在油猴脚本运行之前就已经执行了,因此直接覆盖可能不会有效。
// 为了处理这种情况,我们可以使用一个Mutation Observer来监视新的script元素被添加。
// 这更复杂,但根据具体情况可能并非必要。
})();