我的内容花了我很长时间才创造出来。根据我的理解,没有办法阻止一个人获取内容并在他们访问源代码时复制它。但有没有办法阻止用户从屏幕上做一个简单的复制?非jQuery方式。感谢
答案 0 :(得分:2)
网络规则101:如果它在屏幕上,则可以拥有它。这是因为为了让用户看到您网站上的内容,您的网站必须首先进入其领土,草坪和房屋的领域。为了让人们看到您的网站,您网站上的内容必须沿着最终通往家中的电源线传输。一旦该信息在他们的家中,它只是将其保留在那里。它只是排放工作的方式。
您可以使用技巧使其变得更难,例如将文本转换为图像,以便用户必须再次输入,但OCR可以解决这个问题,并且它可以采取措施在您的网站上腾出更多宝贵的空间。您可以禁用右键单击,但这很容易解决。不仅存在重新启用右键单击的浏览器扩展,在任何浏览器中都可以轻松关闭Javascript,从而打破了这种保护。您可以使用Flash来保护文本,与图像几乎相同。无论您做什么,用户都可以以某种方式记录或重新创建您的内容。如果它受版权保护,唯一的方法是使用法律系统确保没有未经授权的副本,但是再一次,网络规则如果它在屏幕上,他们可以拥有它。
一些答案可能会建议这些技巧使其变得更难,你可以实施它们,但它们绝不是万无一失的,它们可能会吓跑那些潜在的粉丝或客户。由于我知道这一切,如果我看到一个禁用右键单击的网站,我觉得网站所有者并不知道他们正在做什么是无用的,并且通过扩展不知道他们是什么#39;一直在做。
答案 1 :(得分:1)
任何知道如何访问浏览器的开发者工具的人都会拆掉页面并获取所需的内容...所以如果你问我这不值得付出努力加上它只会让用户烦恼和糟糕的UI设计。
但即使您忽略上述段落,此处也是您可以参考的链接.. http://www.hypergurl.com/norightclick.html
这是另一种可以减慢人们复制图像的方法..
<script type="text/javascript">
//<![CDATA[
/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Disable context menu on images by GreenLava (BloggerSentral.com)
Version 1.0
You are free to copy and share this code but please do not remove this credit notice.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */
function nocontext(e) {
var clickedTag = (e==null) ? event.srcElement.tagName : e.target.tagName;
if (clickedTag == "IMG") {
alert(alertMsg);
return false;
}
}
var alertMsg = "Image context menu is disabled";
document.oncontextmenu = nocontext;
//]]>
</script>
现在这个diables右键单击用“img”标签定义的图像....你也可以将它扩展到其他标签。
但是为了可用性,不要这样做,因为它不值得,也不会实现任何目标。
答案 2 :(得分:-1)
......好像你要听我的话。最直接的方法之一是使用内置事件copy
。当有人从附加事件的元素中复制任何内容时,事件就会被触发。
document.getElementById('myContent').oncopy = function() {
/*alert("do something if you want to here")*/
return false;
};
&#13;
input {
width: 400px;
}
&#13;
<span id="myContent">Your content which you don't wanna be copied!</span>
<br/>
<input placeholder="try copying and pasting the above here to test" />
&#13;
参见上面的简单测试。您可以将事件附加到html
元素,以将效果添加到所有元素。
P.S。检查浏览器对copy
事件的支持。