每隔几毫秒删除剪贴板中的所有内容

Posted

技术标签:

【中文标题】每隔几毫秒删除剪贴板中的所有内容【英文标题】:Deleting everything in the clipboard every few milliseconds 【发布时间】:2016-01-18 05:32:39 【问题描述】:

想在我的网站上创建一个脚本,,以防止截图、复制等。

这是我尝试过的。不知道为什么它不起作用。请帮忙。

<html>
<head>
<title>Testing a Script</title>
<script type="text/javascript">
function erase() 
    window.clipboardData.clearData();
    
</script>
</head>
<body onload="setInterval(erase(),300);">
<center><br><br>
Hi, Copy this text and try to paste it.
</center>
</body>
</html>

【问题讨论】:

***.com/questions/16748735/… - 你不能用 JavaScript 控制剪贴板 @zedfoxus:为什么不呢?我不止一次看到这个问题和答案。我已经对此事进行了一些思考,任何定期清除剪贴板的方法都会对我有所帮助,即使它不能完全解决问题。如果不是javascript,你会用什么? 允许从浏览器访问 JavaScript 到 OS 系统剪贴板可能会带来安全风险。这就是 JavaScript 不能帮助控制剪贴板跨平台的原因。 Flash/ActionScript 可能会有所帮助。 @anuj.direct 用随机数填充用户的硬盘也是“足够好”的,这样就没有空间保存任何东西,然后禁用与任何其他计算机的任何通信。这是对用户的敌意。剪贴板是用户的工具,在系统范围内使用,它不仅仅是从偏执的网站窃取。你不能单方面删除别人的剪贴板即使它有效(这不是很好)。对于程序或网站来说,这是一种糟糕的行为。 @anuj.direct 没有合理的解决方案。这不会使一个不合理的好。 There's no programmatic access to the start page 或 the quicklaunch。如果every program deleted the clipboard on a timer,那就毁了。如果它很重要,请不要将其放在网上。如果你必须把它放到网上,那么你就必须接受观看软件不是你施加控制的地方。 【参考方案1】:

当用户尝试这样做时,这会删除剪贴板数据,但是您不能禁用屏幕截图。您也无法避免用户单击“检查元素”并浏览 HTML。

document.addEventListener('copy', function (evt) 
  evt.clipboardData.setData('');
);

还有一点……你可以试试极端措施:

document.addEventListener('copy', function()  alert("No copying!"); );

【讨论】:

感谢罗伯特回复。究竟是什么记录到控制台......我可以利用它来保护数据吗?换句话说,事件监听器会做什么 事件监听器在粘贴时触发。 我明白了……谢谢。我们如何进行?你能给我一个使用它并清除数据的html短程序吗? @anuj.direct 你应该自己尝试一下并在这里报告你的发现【参考方案2】:

尝试禁用右键单击您的网站怎么样?

即便如此,从您的网站复制信息并不难,您仍然可以使用截图工具、屏幕录像机等。

【讨论】:

是的,我已经禁用了右键单击。关键是要让复制变得乏味,让另一端的人认为——“如果我要在它上面浪费那么多时间,我还不如做一个原创”。感谢您的及时回复。 无论浏览器/选项卡或任务栏是否处于活动状态,用于清除正在查看站点的用户计算机上的剪贴板的代码是什么? @anuj.direct 如果我自己的浏览器总是允许右键单击和复制,不管你写什么脚本怎么办?该浏览器显示为 Chrome,因此您无法阻止它?

以上是关于每隔几毫秒删除剪贴板中的所有内容的主要内容,如果未能解决你的问题,请参考以下文章

C#winform 剪贴板中的EXCEL文档,存入datatable中

vim 全选并复制到系统剪切板

三星手机怎么粘贴不了怎么回事

Vim

如何删除 Windows 10 版本 1809 剪贴板历史记录?

appium iOS真机获取剪贴板内容