【问题标题】:How to disable Ctrl C/V using javascript for both internet explorer and firefox browsers如何使用 javascript 为 Internet Explorer 和 Firefox 浏览器禁用 Ctrl C/V
【发布时间】:2013-03-13 19:42:01
【问题描述】:

我正在制作这个 javascript 代码以禁用 Ctlr+c 和 Ctlr+v、prenscreen、ALT+TAB、Ctlr+S 和 PrintScreen 键。

<html>
<head>
<script language="javascript">

function Disable_Control_C() {
var keystroke = String.fromCharCode(event.keyCode).toLowerCase();

if (event.ctrlKey && (keystroke == 'c' || keystroke == 'v')) {
alert("let's see");
event.returnValue = false; // disable Ctrl+C
}
}

</script>
</head>
<body onkeydown="javascript:Disable_Control_C()">
Hello World!
</body>
</html>

不幸的是,代码可以在 IE 浏览器上运行,但不能在 Firefox 上运行。有谁能给点建议吗?

【问题讨论】:

  • 如果您的目标是防止用户“窃取”您的内容,那真的是不可能的(只需使用 Fiddler,反正您已经捕获了所有内容)。作为用户,我会发现所有这些键盘控制非常烦人。
  • 也许你能说出你想要达到的一般目的。您是否打算禁用弹出菜单中的相应项目?
  • 此代码将添加到测试 Web 应用程序中,该应用程序将具有 CBT 测试的新功能。其他点,如最大化和最小化以及此类事情将以不同的方式处理。我的主要目标是禁用我在问题中提到的键盘键。
  • 如果问题已解决,请选择答案

标签: javascript


【解决方案1】:
  • 我不喜欢浏览器对我这样做,并且
  • 很容易解决,并且
  • 这在任何定义上都不算“安全”,但是

使用element.on(?:copy|cut|paste)

<body oncopy="return false" oncut="return false" onpaste="return false">

【讨论】:

    【解决方案2】:

    您可以为此使用 jquery。您只需要将cut、copy 和paste 函数与您的元素绑定。

    并添加这个 Jquery 脚本:

    $(document).ready(function() {
        $('#Selector').bind('copy paste', function(e) {
            e.preventDefault();
        });
    });
    

    【讨论】:

    • 我只需要使用 javascript 而不是 jQuery。
    • 哈哈,你很少会发现没有人给出jQuery解决方案的Javascript问题!
    • 感谢您实际提供答案。关于为什么不应该这样做的一些注释很好,但是有时无论如何这样做都是有用的(例如,如果它只是针对临时用户,如果防止复制/粘贴不是关键 i> 等)。所以谢谢。
    【解决方案3】:

    我正在做 React 项目。我们也有相同的要求来防止复制/粘贴/右键单击。

    在 index.html &lt;body/&gt; 标签中使用以下代码。这将防止所有不必要的操作。

    <body oncopy="return false;" oncut="return false;" onpaste="return false;" oncontextmenu="return false;">
    

    【讨论】:

      【解决方案4】:
      // Disable Right click
      document.addEventListener('contextmenu', event => event.preventDefault());
      
      // Disable key down
      document.onkeydown = disableSelectCopy;
      
      // Disable mouse down
      document.onmousedown = dMDown;
      
      // Disable click
      document.onclick = dOClick;
      
      function dMDown(e) { return false; }
      
      function dOClick() { return true; }
      
      function disableSelectCopy(e) {
          // current pressed key
          var pressedKey = String.fromCharCode(e.keyCode).toLowerCase();
          if ((e.ctrlKey && (pressedKey == "c" || pressedKey == "x" || pressedKey == "v" || pressedKey == "a" || pressedKey == "u")) ||  e.keyCode == 123) {
              return false;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-15
        • 1970-01-01
        • 2020-11-29
        • 1970-01-01
        • 2011-02-23
        • 2017-10-10
        • 2023-03-09
        相关资源
        最近更新 更多