相信很多SEO优化人员都有这样的体会:辛辛苦苦写下的原创文章,别人不打任何招呼,甚至不需要1分钟的时间就将文章复制粘贴走了,更气人的是转走的文章排名甚至比我原创的还要高。因此,SEOer想了很多办法来禁止网页被别人复制粘贴,但是效果都不佳。老司机来教你一个绝招:网页禁止复制粘贴+禁止右键+禁止F12。
一、基础防复制方式:通过js 禁止鼠标右键、禁止鼠标选中文字、禁止快捷键ctrl+u、禁止F12键操作步骤
Step 1. 复制下面的JS代码,然后命名为nocopy.js
var arr = [123, 17, 18]; document.oncontextmenu = new Function("event.returnValue=false;"); //禁用右键 document.onselectstart = new Function("event.returnValue=false;"); //禁用选中 //禁止 ctrl+u window.onkeydown = function(e) { var keyCode = e.keyCode || e.which || e.charCode; var ctrlKey = e.ctrlKey || e.metaKey; console.log(keyCode + "--" + keyCode); if (ctrlKey && keyCode == 85) { console.log("禁止ctrl+u"); e.preventDefault(); } if (arr.indexOf(keyCode) > -1) { console.log("其他"); e.preventDefault(); } } //屏蔽F12 document.onkeydown = function() { if (window.event && window.event.keyCode == 123) { event.keyCode = 0; event.returnValue = false; return false; } }
其中,keyCode已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。
document.oncontextmenu = new Function("event.returnValue=false;"); //禁用右键 document.onselectstart = new Function("event.returnValue=false;"); //禁用选中 //禁止 ctrl+u window.onkeydown = function(e) { var ctrlKey = e.ctrlKey || e.metaKey; if (ctrlKey) { e.preventDefault(); } } //屏蔽F12 document.onkeydown = function() { if (window.event) { event.returnValue = false; return false; } }
Step 2. 将nocopy.js放置在网站的根目录下
Step 3. 调用这个JS文件
在整个网站的head标签中,加入下面一行代码:
<script type="text/javascript" src="/nocopy.js" ></script>
二. 哪些情况下适用网页禁止复制粘贴,禁止右键,禁止F12
为了防止复制粘贴,很多SEO优化人员也是选择了“一刀切”,将整个网站禁止复制粘贴,禁止右键,禁止F12。这种方法是否可取呢?
如果我们的网站内容是在帮助用户解决问题,用户恰好需要复制网站上的内容来解决他的问题,禁止复制粘贴的这种体验就非常糟糕,很有可能会导致大量的用户流量丢失,甚至用户再也不想来访网站。
如果我们的网站内容主要仅供用户浏览或阅读,不涉及到任何的技术或代码,发布的内容都是原创,不希望竞争对手使用,这时候使用禁止复制粘贴,禁止右键,禁止F12是完全OK的。
如果我们的网站内容有一部分是展示公司产品;还有一部分是介绍产品的相关文章,只需要用户浏览了解即可,这时候仅需要对介绍产品的相关文章加上禁止复制粘贴等代码即可。
因此,不同的情况需要我们灵活去处理。当然,不可否认的是网页禁止复制粘贴,禁止右键,禁止F12对于保护网站内容还是有一定的作用的。但不管怎样,用户体验这一环节不容忽视!只有站在用户的角度去思考问题,网站才会获得源源不断的流量。
标签: JS
还木有评论哦,快来抢沙发吧~