在网站上禁用复制

新手上路,请多包涵

我知道不可能阻止世界上最先进的思想,但我想在我的网站上设置最轻微的障碍,以防止我的学生从中复制文本并将该文本作为他们的答案发布。 (如果他们手动输入,那没关系)。

由于跨浏览器的不一致,我非常害怕 JavaScript。

鉴于我已经加载了 jQuery 并且更喜欢尽可能使用 jQuery,我该如何:

  1. 禁用 Ctrl + c
  2. 禁用菜单编辑复制。

原文由 Phillip Senn 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 188
2 个回答

使用 jQuery 可以轻松地在网页上禁用选择文本、复制、右键单击。下面是可以轻松完成此任务的简单 jQuery 代码片段:

 <script type="text/javascript">
// Disable right click on web page
$("html").on("contextmenu",function(e){
    return false;
});
// Disable cut, copy and paste on web page
$('html').bind('cut copy paste', function (e) {
     e.preventDefault();
});
</script>

来源: 使用 jQuery 在网页上禁用右键单击、复制、剪切

原文由 Faruque Ahamed Mollick 发布,翻译遵循 CC BY-SA 3.0 许可协议

创建一个可以做到这一点的函数有点令人生畏,你应该瞄准的是,清除剪贴板,这样即使用户按下 Ctrl + C,也不会将任何内容复制到剪贴板中,像这样的简单函数应该可以解决问题:

 <script language="javascript">
    function clearData(){
        window.clipboardData.setData('text','')
    }
    function cldata(){
        if(clipboardData){
            clipboardData.clearData();
        }
    }
    setInterval("cldata();", 1000);
</script>

<body ondragstart="return false;" onselectstart="return false;"  oncontextmenu="return false;" onload="clearData();" onblur="clearData();">

虽然这样还是可以打败的……

原文由 Charming Prince 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题