我使用以下代码来禁用复制粘贴
onpaste="return false;" oncut="return false;" oncontextmenu="return false;" oncopy="return false;".
这一切都很好。我已经安装了#34; easy-copy"在谷歌浏览器中扩展,仍然可以复制粘贴。有没有办法从扩展中禁用复制和粘贴?
我试图抓住所有事件,看看即使是那个扩展程序也会被粘贴,但即使粘贴它也不会触发任何事件。
对于事件捕获,我在chrome console中使用了以下代码:
monitorEvents($0)
简而言之,如何从浏览器扩展程序中禁用复制粘贴?我为什么需要这个?我有一个聊天应用程序,有些人将粘贴复制到垃圾邮件。
答案 0 :(得分:1)
简而言之,如何从浏览器扩展程序中禁用复制粘贴?
我认为这不可能来自页面Javascript,因为扩展程序的运行信任级别高于网页。他们可以做网页无法做到的事情,比如改变浏览器自己的行为。
在我看来,处理这个的最好方法是服务器端。为每个帖子提供由相关因素确定的垃圾邮件分数,例如来自同一用户的帖子频率,帖子中的重复内容,仅外部链接,来自其他用户的downvotes ......如果帖子超过垃圾邮件分数限制,请不要向其他用户展示。如果你想让垃圾邮件制造者更难确定他们的垃圾邮件是否真正通过,你仍然可以自己展示给海报。
禁用所有用户的复制粘贴对我来说很重要。
答案 1 :(得分:0)
这里只是一些一般的想法。试图阻止这种操作永远不会完全起作用,因为浏览器的行为不同,最终无论你做什么都可以规避行为。
但是,为了让你更加尴尬,为什么不限制他们在给定时间内按下提交按钮的频率。或者限制文本框的最大文本大小。更好的是,根据之前对服务器的评论限制它,这将为您提供没有客户端验证的安全性。任何客户端验证只能阻碍尝试,但不能真正阻止它。
实际上你可以做的另一件事就是有一个拦截javascript函数来检查重复文本。
答案 2 :(得分:0)
您可以尝试使用
* {
user-select: none;
-webkit-user-select: none;/*IE,etc*/
-moz-user-select: none; /*Mozzila Firefox*/
}
<h2>Copy Me if you Can ?</h2>
在我看来,这可行,请尝试删除 user-select: none;
,看看是否有效果。