zoukankan      html  css  js  c++  java
  • javascript 禁用浏览器控制台

     //禁止鼠标右击
          document.oncontextmenu = function() {
            event.returnValue = false;
          };
          //禁用开发者工具F12
          document.onkeydown = document.onkeyup = document.onkeypress = function(event) {
            let e = event || window.event || arguments.callee.caller.arguments[0];
            if (e && e.keyCode == 123) {
              e.returnValue = false;
              return false;
            }
          };
          let userAgent = navigator.userAgent;
          if (userAgent.indexOf("Firefox") > -1) {
            let checkStatus;
            let devtools = /./;
            devtools.toString = function() {
              checkStatus = "on";
            };
            setInterval(function() {
              checkStatus = "off";
              console.log(devtools);
              console.log(checkStatus);
              console.clear();
              if (checkStatus === "on") {
                let target = "";
                try {
                  window.open("about:blank", (target = "_self"));
                } catch (err) {
                  let a = document.createElement("button");
                  a.onclick = function() {
                    window.open("about:blank", (target = "_self"));
                  };
                  a.click();
                }
              }
            }, 200);
          } else {
            //禁用控制台
            let ConsoleManager = {
              onOpen: function() {
                alert("Console is opened");
              },
              onClose: function() {
                alert("Console is closed");
              },
              init: function() {
                let self = this;
                let x = document.createElement("div");
                let isOpening = false,
                  isOpened = false;
                Object.defineProperty(x, "id", {
                  get: function() {
                    if (!isOpening) {
                      self.onOpen();
                      isOpening = true;
                    }
                    isOpened = true;
                    return true;
                  }
                });
                setInterval(function() {
                  isOpened = false;
                  console.info(x);
                  console.clear();
                  if (!isOpened && isOpening) {
                    self.onClose();
                    isOpening = false;
                  }
                }, 200);
              }
            };
            ConsoleManager.onOpen = function() {
              //打开控制台,跳转
              let target = "";
              try {
                window.open("about:blank", (target = "_self"));
              } catch (err) {
                let a = document.createElement("button");
                a.onclick = function() {
                  window.open("about:blank", (target = "_self"));
                };
                a.click();
              }
            };
            ConsoleManager.onClose = function() {
              alert("Console is closed!!!!!");
            };
            ConsoleManager.init();
          }
  • 相关阅读:
    17. Letter Combinations of a Phone Number
    16. 3Sum Closest
    15. 3Sum
    14. Longest Common Prefix
    13. Roman to Integer
    12. Integer to Roman
    11. Container With Most Water
    10. Regular Expression Matching
    9. Palindrome Number
    8. String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/sheep-fu/p/14481533.html
Copyright © 2011-2022 走看看