Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript关闭浏览器开发控制台?_Javascript_Jquery_Google Chrome_Firefox_Console.log - Fatal编程技术网

如何使用javascript关闭浏览器开发控制台?

如何使用javascript关闭浏览器开发控制台?,javascript,jquery,google-chrome,firefox,console.log,Javascript,Jquery,Google Chrome,Firefox,Console.log,我们可以使用以下方式打开浏览器开发控制台: F12,Ctrl+Shift+C,Ctrl+Shift+I和 我已阻止右键单击和使用以下代码的按键: document.addEventListener('contextmenu', function(e) { e.preventDefault(); }); document.onkeydown = function(e) { if(event.keyCode == 123) {

我们可以使用以下方式打开浏览器开发控制台:

F12
Ctrl+Shift+C
Ctrl+Shift+I

我已阻止右键单击和使用以下代码的按键:

    document.addEventListener('contextmenu', function(e) {
        e.preventDefault();
    });

    document.onkeydown = function(e) {
        if(event.keyCode == 123) {
            console.log('You cannot inspect Element');
            return false;
        }
        if(e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)) {
            console.log('You cannot inspect Element');
            return false;
        }
        if(e.ctrlKey && e.shiftKey && e.keyCode == 'C'.charCodeAt(0)) {
            console.log('You cannot inspect Element');
            return false;
        }
        if(e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)) {
            console.log('You cannot inspect Element');
            return false;
        }
        if(e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)) {
            console.log('You cannot inspect Element');
            return false;
        }
    }
    // prevents right clicking
    document.addEventListener('contextmenu', e => e.preventDefault());
现在假设开发控制台已经打开,我们的页面正在加载,
我想在加载页面时使用javascript以编程方式关闭此开发控制台窗口。这可能吗???

我认为阻止开发人员控制台是不可能的,即使使用您提出的方法,用户也可以使用chromium并重新映射开发人员控制台热键来打开它


我的建议是在控制台中添加一条警告消息,警告用户不要在其中键入任何内容,这也是大型网站正在做的。或者,您可以极端地执行
console=null
,因为大多数注入脚本或多或少都包含
console.log
,这将破坏它们的脚本,缺点是你也不能在生产站点上做
控制台。除非你手动注入
控制台
,我认为这是不可能的,因为你会修改浏览器的行为,这显然是不允许的。然而,我不是100%肯定这一点,我认为让网站在未经授权的情况下修改浏览器的行为将是一个安全缺陷

即使有可能,也有很多方法可以避免这种情况,例如禁用javascript或在其端注入脚本以删除事件侦听器,从而允许其访问DevTools

此外,如果您试图阻止某人查看您的HTML源代码(从您发布的代码片段中可以看到),某人可以通过一个简单的GET请求下载源代码,并使用自己的工具查看


总之,一旦它出现在其他人的浏览器上,他们几乎可以用你给他们的东西做任何事情。这就是为什么前端不应该被视为您唯一的“安全”层。你可以给用户一段艰难的时间去做你不想让他们做的事情,但你永远无法完全阻止他们。

这是我的浏览器,如果我想打开开发工具,那么我会-你的代码也不会阻止我打开它-如果你想通过阻止用户使用开发工具来隐藏敏感信息,您首先需要重新思考您的代码