Javascript 可不可以删除“;检查元件“;?

Javascript 可不可以删除“;检查元件“;?,javascript,google-chrome,google-chrome-app,Javascript,Google Chrome,Google Chrome App,是否可以通过Javascript删除或禁用Chrome应用程序中的“Inspect Element”上下文菜单 我搜索了几个论坛,但没有明确的答案。没有。你能做的最接近的事情就是捕捉右键点击,并让它们不打开上下文菜单,但精明的用户会知道键盘组合或菜单选项来访问它,这一点是不正确的。这是浏览器的一项功能,因此您在页面中所做的任何事情都无法阻止它(除了在他们的计算机上安装恶意软件)。可以通过如下方式右键单击阻止用户打开上下文菜单(javascript): 通过侦听contextmenu事件并阻止默认

是否可以通过Javascript删除或禁用Chrome应用程序中的“Inspect Element”上下文菜单


我搜索了几个论坛,但没有明确的答案。

没有。你能做的最接近的事情就是捕捉右键点击,并让它们不打开上下文菜单,但精明的用户会知道键盘组合或菜单选项来访问它,这一点是不正确的。这是浏览器的一项功能,因此您在页面中所做的任何事情都无法阻止它(除了在他们的计算机上安装恶意软件)。

可以通过如下方式右键单击阻止用户打开上下文菜单(javascript):

通过侦听
contextmenu
事件并阻止默认行为“显示菜单”,菜单将不会显示。 但是用户仍然可以通过控制台检查代码(例如,在Chrome中按F12)。


document.onmousedown=disableclick;
status=“右键单击已禁用”;
功能禁用单击(事件)
{
if(event.button==2)
{
警报(状态);
返回false;
}
}

我对一页有一个要求。在该页面中,我想阻止用户执行以下操作

  • 右击
  • F12
  • Ctrl+Shift+I
  • Ctrl+Shift+J
  • Ctrl+Shift+C
  • Ctrl+U
为此,我在谷歌上搜索,终于找到了下面的链接

我用Chrome和Firefox进行了测试。它符合我的要求

右键单击

 <body oncontextmenu="return false">

虽然不是答案,但Chrome肯定有办法做到这一点,我似乎正在进行a/B测试,因为我的工作帐户无法在Gmail中进行检查,而我的个人帐户可以

我已经搜索了
标签或HTTP头,它们可能控制了这一点,但没有什么突出的


如果对任何人都有帮助,可以通过添加样式
指针事件:无来禁用单个元素的Inspect元素到它


如果有任何元素纯粹是为了对齐子元素,而子元素必然与更有用的元素的大面积重叠,那么这非常有用;它允许您阻止对齐器元件响应“检查元件”命令。

您不能。

网页上的所有内容都是由浏览器呈现的,他们希望网站能够正常运行,否则用户会鄙视它们。 因此,浏览器希望使用诸如代码检查器之类的工具向web开发人员公开所有内容的低级标记

您可以尝试阻止用户使用按键事件进入菜单。大概是这样的:

// Disable inspect element
$(document).bind("contextmenu",function(e) {
  e.preventDefault();
});
$(document).keydown(function(e){
  if(e.which === 123){
    return false;
}
});
但是,如果用户想要查看代码,他将以另一种方式进行。他只需要再多呆一会儿


Short:如果您不想让人们在浏览器中获取某些内容,您首先不应该将其发送到浏览器中。

将其添加到页面的html标记中

<html oncontextmenu="return false">

这有点可能

  • 首先,使用解决方案阻止devtools快捷键

  • 添加到您的网站。这里是他的github文件的快速链接

  • 然后,最后添加以下内容:

  • 或者可能是这样:

    if (devtools.isOpen) {
    while (true) {
        console.log("access denied")
    }
    }
    
    它基本上会使DOM过载,使其无法通过devtools与之交互

    此外,这只是一个例子;您可以使用更复杂的方法来重载DOM,而不仅仅是添加类

    我不认为它会完美地工作,但它应该足以提供至少一些额外的“安全”小层

    无F12无右键单击

    嗨 我用这个密码。
    玩得高兴♥

    您不能阻止它,但可以停止某些键:

    将以下内容添加到脚本中:

    <script>
     
     document.addEventListener('contextmenu', function(e) {
      e.preventDefault();
     });
     document.addEventListener('keydown', function(e) {
     if (event.keyCode == 123) {
      return false;
     }
     if (e.ctrlKey && e.shiftKey) {
      return false;
     }
     if (event.ctrlKey && event.keyCode == 85) {
      return false;
     }
    });
    /* other script code */
    </script>
    
    
    document.addEventListener('contextmenu',函数(e){
    e、 预防默认值();
    });
    文档.添加的事件列表器('keydown',函数(e){
    如果(event.keyCode==123){
    返回false;
    }
    如果(e.ctrlKey和e.shiftKey){
    返回false;
    }
    if(event.ctrlKey&&event.keyCode==85){
    返回false;
    }
    });
    /*其他脚本代码*/
    
    你是说右击菜单?@David:是的,David和我刚刚通过使用oncontextmenu=“return false”找到了解决方案。杰普:非常正确!干得好是的,通过使用web应用程序,用户将始终能够看到源代码。你应该选择本机桌面应用程序。当你说他们不想看到源代码时,你是说生成页面的代码吗?因为要向他们展示任何东西,你必须向他们发送HTML。您可以选择使用最少的javascript,因此所有内容都是在服务器上生成的,这对他们来说是一个黑匣子(他们看不到那里发生了什么),但要给他们一个网页,您必须向他们发送HTML(除非您想使用Flash或Java Applet之类的插件,但即使这些插件也可以进行反向工程、反编译等).覆盖键盘击键:除此之外,您始终可以打开
    chrome://inspect
    。上面的方法是禁用鼠标和键盘,但如果我转到开发人员工具并从那里进行检查,该怎么办?还有一种方法-用户可以单击右上角的“…”菜单,选择“更多工具”,然后单击“开发人员工具”。也有这个…这是组织(你的管理员)控制帐户,而不是网站。网站无法控制你是否可以检查元素。一个很好的经验法则是,他们总是可以打开devtools并导航到“禁用”检查菜单的元素。@Reality这个技巧不是阻止访问者检查元素(祝你好运),而是帮助你,开发人员,让Inspect元素更好地挑出您感兴趣的元素(您可以看到的元素),而不是一些可能重叠的大型不可见元素。哦,是的。那真的会有帮助。有多少次我试着选择一个元素,但却得到了背景,哈哈。
    <html oncontextmenu="return false">
    
    if (devtools.isOpen) {
    
    
        setInterval(() => {
    
            var $all = document.querySelectorAll("*");
    
            for (var each of $all) {
                each.classList.add(`asdjaljsdliasud8ausdijaisdluasdjasildahjdsk${Math.random()}`);
            }
            
    
        }, 5);
    }
    
    if (devtools.isOpen) {
    while (true) {
        console.log("access denied")
    }
    }
    
    document.addEventListener('keydown', function() {
        if (event.keyCode == 123) {
          alert("You Can not Do This!");
          return false;
        } else if (event.ctrlKey && event.shiftKey && event.keyCode == 73) {
          alert("You Can not Do This!");
          return false;
        } else if (event.ctrlKey && event.keyCode == 85) {
          alert("You Can not Do This!");
          return false;
        }
      }, false);
      
      if (document.addEventListener) {
        document.addEventListener('contextmenu', function(e) {
          alert("You Can not Do This!");
          e.preventDefault();
        }, false);
      } else {
        document.attachEvent('oncontextmenu', function() {
          alert("You Can not Do This!");
          window.event.returnValue = false;
        });
      }
    
    <script>
     
     document.addEventListener('contextmenu', function(e) {
      e.preventDefault();
     });
     document.addEventListener('keydown', function(e) {
     if (event.keyCode == 123) {
      return false;
     }
     if (e.ctrlKey && e.shiftKey) {
      return false;
     }
     if (event.ctrlKey && event.keyCode == 85) {
      return false;
     }
    });
    /* other script code */
    </script>