当前位置: 首页 > news >正文

js禁用F1至F12、禁止缩放、取消选中并且取消右键操作、打印、拖拽、鼠标点击弹出自定义信息、禁用开发者工具js

禁用js

//禁止缩放
//luwenjie hualun
window.addEventListener('mousewheel', function (event) {if (event.ctrlKey === true || event.metaKey) {event.preventDefault();}
}, {passive: false});//firefox
window.addEventListener('DOMMouseScroll', function (event) {if (event.ctrlKey === true || event.metaKey) {event.preventDefault();}
}, {passive: false});//取消选中并且取消右键操作
document.body.onselectstart =document.body.oncontextmenu =function () {return false; //取消浏览器默认操作};document.onkeydown = function () {if (window.event && window.event.keyCode == 123) {event.keyCode = 0;event.returnValue = false;}if (window.event && window.event.keyCode == 13) {window.event.keyCode = 505;}// 禁止通过F12打开控制台let e = event || window.event || arguments.callee.caller.arguments[0];// 屏蔽ctrl+s 保存if (e.ctrlKey && e.keyCode == 83) {e.preventDefault();e.returnValue = false;return false;}// 屏蔽ctrl+p 打印if (e.ctrlKey && e.keyCode == 80) {e.preventDefault();e.returnValue = false;return false;}//禁用F1-F12if (event.keyCode === 112) {event.preventDefault()event.returnValue = false}if (event.keyCode === 113) {event.preventDefault()event.returnValue = false}if (event.keyCode === 114) {event.preventDefault()event.returnValue = false}if (event.keyCode === 115) {event.preventDefault()event.returnValue = false}if (event.keyCode === 116) {// event.preventDefault()// event.returnValue = false}if (event.keyCode === 117) {event.preventDefault()event.returnValue = false}if (event.keyCode === 118) {event.preventDefault()event.returnValue = false}if (event.keyCode === 119) {event.preventDefault()event.returnValue = false}if (event.keyCode === 120) {event.preventDefault()event.returnValue = false}if (event.keyCode === 121) {event.preventDefault()event.returnValue = false}if (event.keyCode === 122) {// event.preventDefault()// event.returnValue = false}if (event.keyCode === 123) {event.preventDefault()event.returnValue = false}
}
// 禁止拖拽
window.ondragstart = function () {return false;
}
!function () {let timelimit = 50;let open = false;setInterval(function () {var starttime = new Date();debugger;if (new Date() - starttime > timelimit) {open = true;window.stop();document.getElementById("loading").hide();document.getElementById("a1").remove();document.getElementById("error").show();document.getElementById("error").html("\u7cfb\u7edf\u68c0\u6d4b\u975e\u6cd5\u8c03\u8bd5\u002c\u8bf7\u5237\u65b0\u91cd\u8bd5\u0021")} else {open = false}}, 500)
}();
//+_
window.onload = function () {document.addEventListener('keydown', function (event) {if ((event.ctrlKey === true || event.metaKey === true)&& (event.which === 61 || event.which === 107|| event.which === 173 || event.which === 109|| event.which === 187 || event.which === 189)) {event.preventDefault();}}, false);document.addEventListener('contextmenu', function(event) {event.preventDefault();});
}/*** Minified by jsDelivr using Terser v5.19.2.* Original file: /gh/Tomotoes/js@master/log.js** Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files*/
!function () {if (window.console && window.console.log) {const e = (...e) => setTimeout(console.log.bind(console, ...e));e("\n %c SSOSN %c https://ssosn.com \n", "color:#FFFFFB;background:#ffa628;padding:5px 0;border-radius:.5rem 0 0 .5rem;", "background: #000000;padding:5px 0 5px;border-radius:0 .5rem .5rem 0;"), e(`%c页面加载消耗了 ${(Math.round(100 * performance.now()) / 100 / 1e3).toFixed(2)}s`, "background: #fff;color: #333;text-shadow: 0 0 2px #eee, 0 0 3px #eee, 0 0 3px #eee, 0 0 2px #eee, 0 0 3px #eee;"), localStorage.getItem("access") || localStorage.setItem("access", (new Date).getTime());let o = new Date(Number.parseInt(localStorage.getItem("access"))),t = `${o.getFullYear()}${o.getMonth() + 1}${o.getDate()}`, n = 0;localStorage.getItem("hit") ? n = Number.parseInt(localStorage.getItem("hit")) : localStorage.setItem("hit", 0), localStorage.setItem("hit", ++n), e(`这是你自 ${t} 以来第 ${n} 次在本站打开控制台,你想知道什么秘密嘛~`);e("%c ", "\n  background:url(".concat(`https://cdn.jsdelivr.net/gh/Tomotoes/images/console/${n % 5}.jpg`, ") no-repeat center;\n  background-size:200px;\n  margin:5px 0;\n  padding:0 0 162px 200px;\n  border-radius:10px;\n  overflow:hidden;\n  "))}
}();//判断是否为手机访问
function isMobile() {let userAgentInfo = navigator.userAgent;let mobileAgents = ["Android", "iPhone", "SymbianOS", "iPad", "iPod", "ipad", "android", "iphone", "ipod"];//Windows Phonelet mobile_flag = false;//根据userAgent判断是否是手机for (let v = 0; v < mobileAgents.length; v++) {if (userAgentInfo.indexOf(mobileAgents[v]) > 0) {mobile_flag = true;break;}}return mobile_flag;
}if (!isMobile()) {//鼠标点击弹出自定义信息(function () {let a_idx = 0;window.onclick = function (event) {let arrays = new Array("😀", "😁", "😄", "😆", "😅", "😂", "🤣", "☺", "😊", "😇", "😍","🙂", "😉", "🤪", "🥰", "😘", "😗", "🥵", "😤", "😭", "😫", "😎", "🤓");let heart = document.createElement("b"); //创建b元素heart.onselectstart = new Function('event.returnValue=false'); //防止拖动document.body.appendChild(heart).innerHTML = arrays[a_idx]; //将b元素添加到页面上a_idx = (a_idx + 1) % arrays.length;heart.style.cssText = "position: fixed;left:-100%;"; //给p元素设置样式let f = 10, // 字体大小x = event.clientX - f / 2, // 横坐标y = event.clientY - f, // 纵坐标c = randomColor(), // 随机颜色a = 1, // 透明度s = 1.2; // 放大缩小let timer = setInterval(function () { //添加定时器if (a <= 0) {document.body.removeChild(heart);clearInterval(timer);} else {heart.style.cssText = "font-size:16px;cursor: default;position: fixed;color:" +c + ";left:" + x + "px;top:" + y + "px;opacity:" + a + ";transform:scale(" +s + ");-moz-user-select: none; -khtml-user-select: none; user-select: none;z-index:4;";y--;a -= 0.016;s += 0.002;}}, 20)}// 随机颜色function randomColor() {return "rgb(" + (~~(Math.random() * 255)) + "," + (~~(Math.random() * 255)) + "," + (~~(Math.random() * 255)) + ")";}}());
}// window.onerror = function(message, source, lineno, colno, error) {
//     showAlert("网络异常,请稍后再试~");
// }

禁用开发者工具disable-devtool.min.js

!function (e, t) {"object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).DisableDevtool = t()
}(this, function () {"use strict";function o(e) {return (o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {return typeof e} : function (e) {return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e})(e)}function i(e, t) {if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")}function r(e, t) {for (var n = 0; n < t.length; n++) {var i = t[n];i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)}}function u(e, t, n) {t && r(e.prototype, t), n && r(e, n), Object.defineProperty(e, "prototype", {writable: !1})}function e(e, t, n) {t in e ? Object.defineProperty(e, t, {value: n, enumerable: !0, configurable: !0, writable: !0}) : e[t] = n}function n(e, t) {if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function");e.prototype = Object.create(t && t.prototype, {constructor: {value: e,writable: !0,configurable: !0}}), Object.defineProperty(e, "prototype", {writable: !1}), t && c(e, t)}function a(e) {return (a = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) {return e.__proto__ || Object.getPrototypeOf(e)})(e)}function c(e, t) {return (c = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) {return e.__proto__ = t, e})(e, t)}function U(e, t) {if (t && ("object" == typeof t || "function" == typeof t)) return t;if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined");t = e;if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(n) {var i = function () {if ("undefined" == typeof Reflect || !Reflect.construct) return !1;if (Reflect.construct.sham) return !1;if ("function" == typeof Proxy) return !0;try {return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0} catch (e) {return !1}}();return function () {var e, t = a(n);return U(this, i ? (e = a(this).constructor, Reflect.construct(t, arguments, e)) : t.apply(this, arguments))}}function f(e, t) {(null == t || t > e.length) && (t = e.length);for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];return i}function s(e, t) {var n, i = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];if (!i) {if (Array.isArray(e) || (i = function (e, t) {if (e) {if ("string" == typeof e) return f(e, t);var n = Object.prototype.toString.call(e).slice(8, -1);return "Map" === (n = "Object" === n && e.constructor ? e.constructor.name : n) || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? f(e, t) : void 0}}(e)) || t && e && "number" == typeof e.length) return i && (e = i), n = 0, {s: t = function () {}, n: function () {return n >= e.length ? {done: !0} : {done: !1, value: e[n++]}}, e: function (e) {throw e}, f: t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o, r = !0, u = !1;return {s: function () {i = i.call(e)}, n: function () {var e = i.next();return r = e.done, e}, e: function (e) {u = !0, o = e}, f: function () {try {r || null == i.return || i.return()} finally {if (u) throw o}}}}var d = !1, t = {};function v(e) {t[e] = !1}function q() {for (var e in t) if (t[e]) return d = !0;return d = !1}function h() {return (new Date).getTime()}function z(e) {var t = h();return e(), h() - t}function B(n, i) {function e(t) {return function () {n && n();var e = t.apply(void 0, arguments);return i && i(), e}}var t = window.alert, o = window.confirm, r = window.prompt;try {window.alert = e(t), window.confirm = e(o), window.prompt = e(r)} catch (e) {}}var p = {iframe: !1,pc: !1,qqBrowser: !1,firefox: !1,macos: !1,edge: !1,oldEdge: !1,ie: !1,iosChrome: !1,iosEdge: !1,chrome: !1,seoBot: !1,mobile: !1};function W() {function e(e) {return -1 !== t.indexOf(e)}var t = navigator.userAgent.toLowerCase(), n = function () {var e = navigator, t = e.platform, e = e.maxTouchPoints;if ("number" == typeof e) return 1 < e;if ("string" == typeof t) {e = t.toLowerCase();if (/(mac|win)/i.test(e)) return !1;if (/(android|iphone|ipad|ipod|arch)/i.test(e)) return !0}return /(iphone|ipad|ipod|ios|android)/i.test(navigator.userAgent.toLowerCase())}(), i = !!window.top && window !== window.top, o = !n, r = e("qqbrowser"), u = e("firefox"),a = e("macintosh"), c = e("edge"), l = c && !e("chrome"), f = l || e("trident") || e("msie"),s = e("crios"), d = e("edgios"), v = e("chrome") || s,h = !n && /(googlebot|baiduspider|bingbot|applebot|petalbot|yandexbot|bytespider|chrome\-lighthouse|moto g power)/i.test(t);Object.assign(p, {iframe: i,pc: o,qqBrowser: r,firefox: u,macos: a,edge: c,oldEdge: l,ie: f,iosChrome: s,iosEdge: d,chrome: v,seoBot: h,mobile: n})}function H() {for (var e = function () {for (var e = {}, t = 0; t < 500; t++) e["".concat(t)] = "".concat(t);return e}(), t = [], n = 0; n < 50; n++) t.push(e);return t}var y, K = "", V = !1;function F() {var e = w.ignore;if (e) {if ("function" == typeof e) return e();if (0 !== e.length) {var t = location.href;if (K === t) return V;K = t;var n, i = !1, o = s(e);try {for (o.s(); !(n = o.n()).done;) {var r = n.value;if ("string" == typeof r) {if (-1 !== t.indexOf(r)) {i = !0;break}} else if (r.test(t)) {i = !0;break}}} catch (e) {o.e(e)} finally {o.f()}return V = i}}}(A = y = y || {})[A.Unknown = -1] = "Unknown", A[A.RegToString = 0] = "RegToString", A[A.DefineId = 1] = "DefineId", A[A.Size = 2] = "Size", A[A.DateToString = 3] = "DateToString", A[A.FuncToString = 4] = "FuncToString", A[A.Debugger = 5] = "Debugger", A[A.Performance = 6] = "Performance", A[A.DebugLib = 7] = "DebugLib";var b = function () {function n(e) {var t = e.type, e = e.enabled, e = void 0 === e || e;i(this, n), this.type = y.Unknown, this.enabled = !0, this.type = t, this.enabled = e, this.enabled && (t = this, $.push(t), this.init())}return u(n, [{key: "onDevToolOpen", value: function () {var e;console.warn("You don't have permission to use DEVTOOL!【type = ".concat(this.type, "】")), w.clearIntervalWhenDevOpenTrigger && g(), window.clearTimeout(N), w.ondevtoolopen(this.type, J), e = this.type, t[e] = !0}}, {key: "init", value: function () {}}]), n}(), M = function () {n(t, b);var e = l(t);function t() {return i(this, t), e.call(this, {type: y.DebugLib})}return u(t, [{key: "init", value: function () {}}, {key: "detect", value: function () {var e;(!0 === (null == (e = null == (e = window.eruda) ? void 0 : e._devTools) ? void 0 : e._isShow) || window._vcOrigConsole && window.document.querySelector("#__vconsole.vc-toggle")) && this.onDevToolOpen()}}], [{key: "isUsing", value: function () {return !!window.eruda || !!window._vcOrigConsole}}]), t}(), X = 0, N = 0, $ = [], G = 0;function Y(o) {function e() {l = !0}function t() {l = !1}var n, i, r, u, a, c, l = !1;function f() {(c[u] === r ? i : n)()}B(e, t), n = t, i = e, void 0 !== (c = document).hidden ? (r = "hidden", a = "visibilitychange", u = "visibilityState") : void 0 !== c.mozHidden ? (r = "mozHidden", a = "mozvisibilitychange", u = "mozVisibilityState") : void 0 !== c.msHidden ? (r = "msHidden", a = "msvisibilitychange", u = "msVisibilityState") : void 0 !== c.webkitHidden && (r = "webkitHidden", a = "webkitvisibilitychange", u = "webkitVisibilityState"), c.removeEventListener(a, f, !1), c.addEventListener(a, f, !1), X = window.setInterval(function () {if (!(o.isSuspend || l || F())) {var e, t, n = s($);try {for (n.s(); !(e = n.n()).done;) {var i = e.value;v(i.type), i.detect(G++)}} catch (e) {n.e(e)} finally {n.f()}D(), "function" == typeof w.ondevtoolclose && (t = d, !q() && t && w.ondevtoolclose())}}, w.interval), N = setTimeout(function () {p.pc || M.isUsing() || g()}, w.stopIntervalTime)}function g() {window.clearInterval(X)}function J() {if (g(), w.url) window.location.href = w.url; else {try {window.opener = null, window.open("", "_self"), window.close(), window.history.back()} catch (e) {console.log(e)}setTimeout(function () {window.location.href = w.timeOutUrl || "https://theajack.github.io/disable-devtool/404.html?h=".concat(encodeURIComponent(location.host))}, 500)}}var w = {md5: "",ondevtoolopen: J,ondevtoolclose: null,url: "",timeOutUrl: "",tkName: "ddtk",interval: 500,disableMenu: !0,stopIntervalTime: 5e3,clearIntervalWhenDevOpenTrigger: !1,detectors: [0, 1, 3, 4, 5, 6, 7],clearLog: !0,disableSelect: !1,disableCopy: !1,disableCut: !1,disablePaste: !1,ignore: null,disableIframeParents: !0,seo: !0}, Q = ["detectors", "ondevtoolclose", "ignore"];function Z(e) {var t, n = 0 < arguments.length && void 0 !== e ? e : {};for (t in w) {var i = t;void 0 === n[i] || o(w[i]) !== o(n[i]) && -1 === Q.indexOf(i) || (w[i] = n[i])}"function" == typeof w.ondevtoolclose && !0 === w.clearIntervalWhenDevOpenTrigger && (w.clearIntervalWhenDevOpenTrigger = !1, console.warn("【DISABLE-DEVTOOL】clearIntervalWhenDevOpenTrigger 在使用 ondevtoolclose 时无效"))}var m, T, ee, O = window.console || {log: function () {}, table: function () {}, clear: function () {}};function D() {w.clearLog && ee()}var te = function () {return !1};function S(n) {var e, i = 74, o = 73, r = 85, u = 83, a = 123, c = p.macos ? function (e, t) {return e.metaKey && e.altKey && (t === o || t === i)} : function (e, t) {return e.ctrlKey && e.shiftKey && (t === o || t === i)}, l = p.macos ? function (e, t) {return e.metaKey && e.altKey && t === r || e.metaKey && t === u} : function (e, t) {return e.ctrlKey && (t === u || t === r)};n.addEventListener("keydown", function (e) {var t = (e = e || n.event).keyCode || e.which;if (t === a || c(e, t) || l(e, t)) return ne(n, e)}, !0), e = n, w.disableMenu && k(e, "contextmenu"), e = n, w.disableSelect && k(e, "selectstart"), e = n, w.disableCopy && k(e, "copy"), e = n, w.disableCut && k(e, "cut"), e = n, w.disablePaste && k(e, "paste")}function k(t, e) {t.addEventListener(e, function (e) {return ne(t, e)})}function ne(e, t) {if (!F() && !te()) return (t = t || e.event).returnValue = !1, t.preventDefault(), !1}var P = 8;function ie(e) {for (var t = function (e, t) {e[t >> 5] |= 128 << t % 32, e[14 + (t + 64 >>> 9 << 4)] = t;for (var n = 1732584193, i = -271733879, o = -1732584194, r = 271733878, u = 0; u < e.length; u += 16) {var a = n, c = i, l = o, f = r;n = j(n, i, o, r, e[u + 0], 7, -680876936), r = j(r, n, i, o, e[u + 1], 12, -389564586), o = j(o, r, n, i, e[u + 2], 17, 606105819), i = j(i, o, r, n, e[u + 3], 22, -1044525330), n = j(n, i, o, r, e[u + 4], 7, -176418897), r = j(r, n, i, o, e[u + 5], 12, 1200080426), o = j(o, r, n, i, e[u + 6], 17, -1473231341), i = j(i, o, r, n, e[u + 7], 22, -45705983), n = j(n, i, o, r, e[u + 8], 7, 1770035416), r = j(r, n, i, o, e[u + 9], 12, -1958414417), o = j(o, r, n, i, e[u + 10], 17, -42063), i = j(i, o, r, n, e[u + 11], 22, -1990404162), n = j(n, i, o, r, e[u + 12], 7, 1804603682), r = j(r, n, i, o, e[u + 13], 12, -40341101), o = j(o, r, n, i, e[u + 14], 17, -1502002290), i = j(i, o, r, n, e[u + 15], 22, 1236535329), n = I(n, i, o, r, e[u + 1], 5, -165796510), r = I(r, n, i, o, e[u + 6], 9, -1069501632), o = I(o, r, n, i, e[u + 11], 14, 643717713), i = I(i, o, r, n, e[u + 0], 20, -373897302), n = I(n, i, o, r, e[u + 5], 5, -701558691), r = I(r, n, i, o, e[u + 10], 9, 38016083), o = I(o, r, n, i, e[u + 15], 14, -660478335), i = I(i, o, r, n, e[u + 4], 20, -405537848), n = I(n, i, o, r, e[u + 9], 5, 568446438), r = I(r, n, i, o, e[u + 14], 9, -1019803690), o = I(o, r, n, i, e[u + 3], 14, -187363961), i = I(i, o, r, n, e[u + 8], 20, 1163531501), n = I(n, i, o, r, e[u + 13], 5, -1444681467), r = I(r, n, i, o, e[u + 2], 9, -51403784), o = I(o, r, n, i, e[u + 7], 14, 1735328473), i = I(i, o, r, n, e[u + 12], 20, -1926607734), n = E(n, i, o, r, e[u + 5], 4, -378558), r = E(r, n, i, o, e[u + 8], 11, -2022574463), o = E(o, r, n, i, e[u + 11], 16, 1839030562), i = E(i, o, r, n, e[u + 14], 23, -35309556), n = E(n, i, o, r, e[u + 1], 4, -1530992060), r = E(r, n, i, o, e[u + 4], 11, 1272893353), o = E(o, r, n, i, e[u + 7], 16, -155497632), i = E(i, o, r, n, e[u + 10], 23, -1094730640), n = E(n, i, o, r, e[u + 13], 4, 681279174), r = E(r, n, i, o, e[u + 0], 11, -358537222), o = E(o, r, n, i, e[u + 3], 16, -722521979), i = E(i, o, r, n, e[u + 6], 23, 76029189), n = E(n, i, o, r, e[u + 9], 4, -640364487), r = E(r, n, i, o, e[u + 12], 11, -421815835), o = E(o, r, n, i, e[u + 15], 16, 530742520), i = E(i, o, r, n, e[u + 2], 23, -995338651), n = C(n, i, o, r, e[u + 0], 6, -198630844), r = C(r, n, i, o, e[u + 7], 10, 1126891415), o = C(o, r, n, i, e[u + 14], 15, -1416354905), i = C(i, o, r, n, e[u + 5], 21, -57434055), n = C(n, i, o, r, e[u + 12], 6, 1700485571), r = C(r, n, i, o, e[u + 3], 10, -1894986606), o = C(o, r, n, i, e[u + 10], 15, -1051523), i = C(i, o, r, n, e[u + 1], 21, -2054922799), n = C(n, i, o, r, e[u + 8], 6, 1873313359), r = C(r, n, i, o, e[u + 15], 10, -30611744), o = C(o, r, n, i, e[u + 6], 15, -1560198380), i = C(i, o, r, n, e[u + 13], 21, 1309151649), n = C(n, i, o, r, e[u + 4], 6, -145523070), r = C(r, n, i, o, e[u + 11], 10, -1120210379), o = C(o, r, n, i, e[u + 2], 15, 718787259), i = C(i, o, r, n, e[u + 9], 21, -343485551), n = _(n, a), i = _(i, c), o = _(o, l), r = _(r, f)}return Array(n, i, o, r)}(function (e) {for (var t = Array(), n = (1 << P) - 1, i = 0; i < e.length * P; i += P) t[i >> 5] |= (e.charCodeAt(i / P) & n) << i % 32;return t}(e), e.length * P), n = "0123456789abcdef", i = "", o = 0; o < 4 * t.length; o++) i += n.charAt(t[o >> 2] >> o % 4 * 8 + 4 & 15) + n.charAt(t[o >> 2] >> o % 4 * 8 & 15);return i}function x(e, t, n, i, o, r) {return _((t = _(_(t, e), _(i, r))) << o | t >>> 32 - o, n)}function j(e, t, n, i, o, r, u) {return x(t & n | ~t & i, e, t, o, r, u)}function I(e, t, n, i, o, r, u) {return x(t & i | n & ~i, e, t, o, r, u)}function E(e, t, n, i, o, r, u) {return x(t ^ n ^ i, e, t, o, r, u)}function C(e, t, n, i, o, r, u) {return x(n ^ (t | ~i), e, t, o, r, u)}function _(e, t) {var n = (65535 & e) + (65535 & t);return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n}var A = function () {n(t, b);var e = l(t);function t() {return i(this, t), e.call(this, {type: y.RegToString, enabled: p.qqBrowser || p.firefox})}return u(t, [{key: "init", value: function () {var t = this;this.lastTime = 0, this.reg = /./, m(this.reg), this.reg.toString = function () {var e;return p.qqBrowser ? (e = (new Date).getTime(), t.lastTime && e - t.lastTime < 100 ? t.onDevToolOpen() : t.lastTime = e) : p.firefox && t.onDevToolOpen(), ""}}}, {key: "detect", value: function () {m(this.reg)}}]), t}(), oe = function () {n(t, b);var e = l(t);function t() {return i(this, t), e.call(this, {type: y.DefineId})}return u(t, [{key: "init", value: function () {var e = this;this.div = document.createElement("div"), this.div.__defineGetter__("id", function () {e.onDevToolOpen()}), Object.defineProperty(this.div, "id", {get: function () {e.onDevToolOpen()}})}}, {key: "detect", value: function () {m(this.div)}}]), t}(), re = function () {n(t, b);var e = l(t);function t() {return i(this, t), e.call(this, {type: y.Size, enabled: !p.iframe && !p.edge})}return u(t, [{key: "init", value: function () {var e = this;this.checkWindowSizeUneven(), window.addEventListener("resize", function () {setTimeout(function () {e.checkWindowSizeUneven()}, 100)}, !0)}}, {key: "detect", value: function () {}}, {key: "checkWindowSizeUneven", value: function () {var e = function () {if (ue(window.devicePixelRatio)) return window.devicePixelRatio;var e = window.screen;return !(ue(e) || !e.deviceXDPI || !e.logicalXDPI) && e.deviceXDPI / e.logicalXDPI}();if (!1 !== e) {var t = 200 < window.outerWidth - window.innerWidth * e,e = 300 < window.outerHeight - window.innerHeight * e;if (t || e) return this.onDevToolOpen(), !1;v(this.type)}return !0}}]), t}();function ue(e) {return null != e}var L, ae = function () {n(t, b);var e = l(t);function t() {return i(this, t), e.call(this, {type: y.DateToString, enabled: !p.iosChrome && !p.iosEdge})}return u(t, [{key: "init", value: function () {var e = this;this.count = 0, this.date = new Date, this.date.toString = function () {return e.count++, ""}}}, {key: "detect", value: function () {this.count = 0, m(this.date), D(), 2 <= this.count && this.onDevToolOpen()}}]), t}(), ce = function () {n(t, b);var e = l(t);function t() {return i(this, t), e.call(this, {type: y.FuncToString, enabled: !p.iosChrome && !p.iosEdge})}return u(t, [{key: "init", value: function () {var e = this;this.count = 0, this.func = function () {}, this.func.toString = function () {return e.count++, ""}}}, {key: "detect", value: function () {this.count = 0, m(this.func), D(), 2 <= this.count && this.onDevToolOpen()}}]), t}(), le = function () {n(t, b);var e = l(t);function t() {return i(this, t), e.call(this, {type: y.Debugger, enabled: p.iosChrome || p.iosEdge})}return u(t, [{key: "detect", value: function () {var e = h();100 < h() - e && this.onDevToolOpen()}}]), t}(), fe = function () {n(t, b);var e = l(t);function t() {return i(this, t), e.call(this, {type: y.Performance, enabled: p.chrome || !p.mobile})}return u(t, [{key: "init", value: function () {this.maxPrintTime = 0, this.largeObjectArray = H()}}, {key: "detect", value: function () {var e = this, t = z(function () {T(e.largeObjectArray)}), n = z(function () {m(e.largeObjectArray)});if (this.maxPrintTime = Math.max(this.maxPrintTime, n), D(), 0 === t || 0 === this.maxPrintTime) return !1;t > 10 * this.maxPrintTime && this.onDevToolOpen()}}]), t}(),se = (e(L = {}, y.RegToString, A), e(L, y.DefineId, oe), e(L, y.Size, re), e(L, y.DateToString, ae), e(L, y.FuncToString, ce), e(L, y.Debugger, le), e(L, y.Performance, fe), e(L, y.DebugLib, M), L);var R = Object.assign(function (e) {function t() {var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : "";return {success: !e, reason: e}}if (R.isRunning) return t("already running");if (W(), ee = p.ie ? (m = function () {return O.log.apply(O, arguments)}, T = function () {return O.table.apply(O, arguments)}, function () {return O.clear()}) : (m = O.log, T = O.table, O.clear), Z(e), w.md5 && ie(function (e) {var t = window.location.search, n = window.location.hash;if ("" !== (t = "" === t && "" !== n ? "?".concat(n.split("?")[1]) : t) && void 0 !== t) {n = new RegExp("(^|&)" + e + "=([^&]*)(&|$)", "i"), e = t.substr(1).match(n);if (null != e) return unescape(e[2])}return ""}(w.tkName)) === w.md5) return t("token passed");if (w.seo && p.seoBot) return t("seobot");R.isRunning = !0, Y(R);var n = R, i = (te = function () {return n.isSuspend}, window.top), o = window.parent;if (S(window), w.disableIframeParents && i && o && i !== window) {for (; o !== i;) S(o), o = o.parent;S(i)}return ("all" === w.detectors ? Object.keys(se) : w.detectors).forEach(function (e) {new se[e]}), t()}, {isRunning: !1, isSuspend: !1, md5: ie, version: "0.3.6", DetectorType: y, isDevToolOpened: q});A = function () {if ("undefined" == typeof window || !window.document) return null;var n = document.querySelector("[disable-devtool-auto]");if (!n) return null;var i = ["disable-menu", "disable-select", "disable-copy", "disable-cut", "disable-paste", "clear-log"],o = ["interval"], r = {};return ["md5", "url", "tk-name", "detectors"].concat(i, o).forEach(function (e) {var t = n.getAttribute(e);null !== t && (-1 !== o.indexOf(e) ? t = parseInt(t) : -1 !== i.indexOf(e) ? t = "false" !== t : "detector" === e && "all" !== t && (t = t.split(" ")), r[function (e) {if (-1 === e.indexOf("-")) return e;var t = !1;return e.split("").map(function (e) {return "-" === e ? (t = !0, "") : t ? (t = !1, e.toUpperCase()) : e}).join("")}(e)] = t)}), r}();return A && R(A), R
});

html引用

<script disable-devtool-auto src='disable-devtool.min.js' disable-menu='false'></script>

相关文章:

js禁用F1至F12、禁止缩放、取消选中并且取消右键操作、打印、拖拽、鼠标点击弹出自定义信息、禁用开发者工具js

禁用js //禁止缩放 //luwenjie hualun window.addEventListener(mousewheel, function (event) {if (event.ctrlKey true || event.metaKey) {event.preventDefault();} }, {passive: false});//firefox window.addEventListener(DOMMouseScroll, function (event) {if (even…...

Zabbix5.0_介绍_组成架构_以及和prometheus的对比_大数据环境下的监控_网络_软件_设备监控_Zabbix工作笔记

z 这里Zabbix可以实现采集 存储 展示 报警 但是 zabbix自带的,展示 和报警 没那么好看,我们可以用 grafana进行展示,然后我们用一个叫睿象云的来做告警展示, 会更丰富一点. 可以看到 看一下zabbix的介绍. 对zabbix的介绍,这个zabbix比较适合对服务器进行监控 这个是zabbix的…...

百度SEO优化TDK介绍(分析下降原因并总结百度优化SEO策略)

TDK是SEO优化中很重要的部分&#xff0c;包括标题&#xff08;Title&#xff09;、描述&#xff08;Description&#xff09;和关键词&#xff08;Keyword&#xff09;&#xff0c;为百度提供网页内容信息。其中标题是最重要的&#xff0c;应尽量突出关键词&#xff0c;同时描述…...

搭建自动化 Web 页面性能检测系统 —— 设计篇

页面性能对于用户体验、用户留存有着重要影响&#xff0c;当页面加载时间过长时&#xff0c;往往会伴随着一部分用户的流失&#xff0c;也会带来一些用户差评。性能的优劣往往是同类产品中胜出的影响因素&#xff0c;也是一个网站口碑的重要评判标准。 一、名称解释 前端监控…...

记一次 mysql 数据库定时备份

环境&#xff1a;Centos 7.9 数据库&#xff1a;mysql 8.0.30 需求&#xff1a;生产环境 mysql 数据&#xff08;约670MB&#xff09;备份。其中存在大字段、longblob字段 参考博客&#xff1a;Linux环境下使用crontab实现mysql定时备份 - 知乎 一、数据库备份 1. 备份脚本。创…...

淘宝分布式文件存储系统(一) -TFS

淘宝分布式文件存储系统( 一 ) ->>TFS 目录 : 什么是文件系统文件存储的一些概念文件的结构系统读取文件的方式为什么采用大文件结构的原因 文件系统 : 将我们的数据整合成目录或者文件,提供对文件的存取接口,基于文件的权限进行访问,简单的说,文件系统就是对文件进行…...

LLM各层参数详细分析(以LLaMA为例)

网上大多分析LLM参数的文章都比较粗粒度&#xff0c;对于LLM的精确部署不太友好&#xff0c;在这里记录一下分析LLM参数的过程。 首先看QKV。先上transformer原文 也就是说&#xff0c;当h&#xff08;heads&#xff09; 1时&#xff0c;在默认情况下&#xff0c; W i Q W_i…...

linux ansible(三)

ansible 配置详解 3.1 ansible 安装方式 ansible安装常用两种方式&#xff0c;yum安装和pip程序安装 3.1.1 使用 pip&#xff08;python的包管理模块&#xff09;安装 需要安装一个python-pip包&#xff0c;安装完成以后&#xff0c;则直接使用pip命令来安装我们的ansible包 …...

Anaconda和Pycharm详细安装 配置教程

Anaconda&#xff1a;是一个开源的Python发行版本&#xff0c;其中包含了conda、Python等180多个科学包及其依赖项。【Anaconda下载】 PyCharm&#xff1a;PyCharm是一种Python IDE&#xff0c;带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。【PyCharm下载】…...

利用Linux虚拟化技术实现资源隔离和管理

在现代计算机系统中&#xff0c;资源隔离和管理是非常重要的&#xff0c;特别是在多租户环境下。通过利用Linux虚拟化技术&#xff0c;我们可以实现对计算资源&#xff08;如CPU、内存和存储&#xff09;的隔离和管理&#xff0c;以提供安全、高效、稳定的计算环境。下面将详细…...

12基于MATLAB的短时傅里叶变换( STFT),连续小波变换( CWT),程序已调通,可以直接运行。

基于MATLAB的短时傅里叶变换( STFT),连续小波变换( CWT),程序已调通&#xff0c;可以直接运行...

k8s使用时无法ping通服务器From IP地址 icmp_seq=1 Destination Host Unreachable

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

两种风格的纯CSS3加载动画

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>加载动画</title><style>.loader {w…...

Spring Cloud Eureka:服务注册与发现

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Spring Cloud Eureka&#xff1a;服务注册与发现 Spring Cloud Eureka是Spring Cloud生态系统中的一个组件&#xff0c;它是用于实现服务注册与发现的服务治理组件。在…...

安防监控视频云存储平台EasyNVR对接EasyNVS时,一直不上线该如何解决?

视频安防监控平台EasyNVR可支持设备通过RTSP/Onvif协议接入&#xff0c;并能对接入的视频流进行处理与多端分发&#xff0c;包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等多种格式。 近期有用户在使用安防视频平台EasyNVR对接上级平台EasyNVS时&#xff0c;出现了一直不上线…...

【完美解决】GitHub连接超时问题 Recv failure: Connection was reset

问题&#xff1a; 已经开了梯子但是在Idea中使用git&#xff08;GitHub&#xff09;还是连接超时Recv failure: Connection was reset。此时需要让git走代理。 解决方案&#xff1a; 1.对右下角网络点击右键 -> 打开网络和Internet设置 2.代理 -> 查看到地址和端口号…...

cpolar内网穿透

1、下载地址 https://www.cpolar.com/ windows系统可以在cpolar官网下载最新的安装包&#xff0c;然后解压默认安装即可。 2、地址配置 创建隧道映射内网端口&#xff0c;双击安装的软件&#xff0c;即可进入浏览器配置界面 http://localhost:9200/#/dashboard cpolar安装…...

go语言操作数据库

1.10 GO连接MySQL 因为Go语言没有提供任何官方数据库驱动&#xff0c;所以需要安装第三方函数库。由于在github上安装&#xff0c;所以需要安装git软件&#xff0c;安装过程一直点击下一步即可。安装完成后需要配置环境变量 1.10.1 安装git git软件 安装完毕后&#xff0c;配…...

zabbix实现钉钉报警

首先钉钉创建一个团队 自定义关键词 查看zabbix-server脚本存放的位置&#xff1a; [rootcontrolnode ~]# grep ^AlertScriptsPath /etc/zabbix/zabbix_server.conf AlertScriptsPath/usr/lib/zabbix/alertscripts zabbix server设置 在配置文件书写脚本目录vim /etc/za…...

基于微信小程序的语言课学习系统设计与实现(源码+lw+部署文档+讲解等)

前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb;…...

R 语言画图中英文字体解决方案

在某些时候&#xff0c;需要在 R 画图中添加中文&#xff0c;但是默认情况下&#xff0c;R 对中文的支持不好。这里推荐一个 showtext 的 R 包。如果需要将含有中文字体的图形保存为 pdf 文件&#xff0c;可以使用下面讲到的方案&#xff0c;最新版的showtext已经支持了 ggplot…...

Golang反射相关知识总结

1. Golang反射概述 Go语言的反射&#xff08;reflection&#xff09;是指在运行时动态地获取类型信息和操作对象的能力。在Go语言中&#xff0c;每个值都是一个接口类型&#xff0c;这个接口类型包含了这个值的类型信息和值的数据&#xff0c;因此&#xff0c;通过反射&#x…...

go语言初学(备忘)

1、安装 2 路径配置 C:\Program Files\Go\bin 3新建一个工程 4、下载VSCode 并安装插件 创建一个调试文件 在main目录下新建一个test.go脚本 package main import "fmt" func main() { fmt.Println("Hi 1111") fmt.Println("testasdf") } 断点…...

免费获取独立ChatGPT账户!!

GPT对于每个科研人员已经成为不可或缺的辅助工具&#xff0c;不同的研究领域和项目具有不同的需求。如在科研编程、绘图领域&#xff1a;1、编程建议和示例代码: 无论你使用的编程语言是Python、R、MATLAB还是其他语言&#xff0c;都可以为你提供相关的代码示例。2、数据可视化…...

4.docker容器编排(docker compose 与 docker swarm)

本文目录 1.容器编排2.Docker Compose1.Docker Compose 安装2.Docker Compose 示例1.使用 docker-compose 启动 nginx2.docker compose 常用命令3.校验 docker-compose.yml 是否有错误4.创建服务&#xff0c;启动容器5.弹性伸缩<扩缩容> 3.Docker Swarm1.Swarm 架构图2.S…...

Linux中配置sudo用户访问权限

一、如何在 Linux 中配置 sudo 的访问权限 1.1、添加一个Linux普通用户有 sudo 权限 [root@localhost ~]# useradd test // 创建一个普通用户为:test [root@localhost ~]# [root@localhost ~]# passwd test // 设置用户test密码为:test Changing password for user te…...

ASfP: 增强AOSP平台开发的利器——Android Studio for Platform

ASfP: 增强AOSP平台开发的利器——Android Studio for Platform Android Studio for Platform (ASfP) 是一个为使用 Soong 构建系统构建的 Android 开源项目&#xff08;AOSP&#xff09;平台开发者而设计的 Android Studio IDE 版本。与标准 Android Studio 不同&#xff0c;…...

【Html】用CSS定义咖啡 - 咖啡配料展示

显示效果 代码 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>CodePen - For The Love Of Coffee</title><link rel"stylesheet" href"./style.css">&l…...

Learn Prompt-Prompt 高级技巧:AutoGPT

AutoGPT 是一个由Toran Richards创建的流行开源项目。它利用GPT4作为大脑&#xff0c;结合langchain的链接思想&#xff0c;连接各种工具和互联网资源&#xff0c;来完成人类给予的任务。您只需要设定一个目标&#xff0c;AutoGPT就会自主规划并逐步执行任务。如果遇到问题&…...

IntelliJ IDEA - Maven 在控制台Maven编译正常,但是在IDEA中不正常,表现不一致

文章目录 现象原因解决验证 现象 一个Maven项目&#xff0c;当导入到IDEA后&#xff0c;无法在IDEA中正常的编译和下载jar依赖&#xff0c;类似下面的截图。 但是在Windows控制台却可以正常编译&#xff0c;类似下面的截图。 CMD执行&#xff1a;mvn clean install -Dmaven.te…...

网站建设维护课件ppt/广州seo网站排名

有n个灯&#xff0c;k个人&#xff0c;第一个人把所有灯都打开&#xff0c;第二个人按下所有编号为2的倍数的开关&#xff08;这些灯将被关掉&#xff09;&#xff0c;第三个人按下编号是3的倍数的开关&#xff08;其中关掉的灯将2被打开&#xff0c;开着的灯将关闭&#xff09…...

江门有那几间公司做网站的/上海网络推广渠道

1. 快速生成logger 打开 Settings&#xff0c;找到 Editor 目录下的 Live Templates 选中 Java&#xff0c;点击右侧的加号&#xff0c;创建一个新的模板 在创建模板的相关位置&#xff0c;填上对应的值 Abbreviation&#xff1a;触发的关键字&#xff08;此处我使用的是 l…...

婚纱设计网站首页/电话营销系统

面试中最难回答的一个问题&#xff1a;你的优点和缺点分别是什么&#xff1f; 面对这个问题&#xff0c;很多人自作聪明的会把自己的优点当做缺点去说&#xff0c;比如&#xff1a;我最大的优点是认真&#xff0c;我最大的缺点就是太认真了。 这么回答只会让面试官觉得你是在装…...

房山重庆网站建设/关键词优化的主要工具

我在微服务组里面主要负责配置中心的构建&#xff0c;我们的配置中心使用到了ETCD。在我们的内网环境中搭建了三个节点的ETCD&#xff0c;不过这三个节点的ETCD都搭建在同一台机器上。后来机器资源不够了系统直接kill了ETCD&#xff0c;导致内网的ETCD三个节点全部挂掉了。刚开…...

网站服务器做缓存吗/手机如何制作自己的网站

详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框&#xff0c;对话框在Linux中可以友好的提示操作者&#xff0c;感兴趣的朋友可以参考学习一下。 当你在终端环境下安装新的软件时&#xff0c;你可以经常看到信…...

有自己团队做网站上线多久/百度seo快速排名优化软件

Map 和 Set 目录 Map 和 Set 概念&#xff1a; 主要内容&#xff1a; Mao集合 Map的常用方法 注意事项 HashMap,TreeMap和LinkedHashMap TreeMap和HashMap的区别 Set集合 作用&#xff1a; 常用方法&#xff1a; 注意事项 Map 和 Set 概念&#xff1a; Map和…...