防止网站文章被转载的一些常规方法,禁止复制、禁止 F12、禁止ctrl+u、网站禁止右键;但是这些只是做了一层防护,应对普通的新手编辑足够了,如果别人真想复制你网站的内容,还是有其他方法可以进行复制粘贴的。
下面是代码:
$("body").bind('copy', function (e) {
var body_element = document.getElementsByTagName('body')[0];
var selection = window.getSelection();
var newdiv = document.createElement('div'); newdiv.style.position = 'absolute';
newdiv.style.left = '-99999px';
body_element.appendChild(newdiv);
newdiv.appendChild(selection.getRangeAt(0).cloneContents());
newdiv.innerHTML = "\u539f\u6587\uff1a" + document.location.href + "\u53d7\u539f\u521b\u534f\u8bae\u4fdd\u62a4\uff0c\u6d4f\u89c8\u5668\u6682\u4e0d\u652f\u6301\u590d\u5236\u7c98\u8d34";
selection.selectAllChildren(newdiv); window.setTimeout(function () { body_element.removeChild(newdiv) }, 200)
});
上述代码是当选中页面文字,按ctrl+c键进行复制时,会弹出提示框阻止复制操作。
其中,
document.location.href为当前页面url;
\u539f\u6587\uff1a 进行了Unicode编码了的中文字符,转码过来就是“原文:”;
\u53d7\u539f\u521b\u534f\u8bae\u4fdd\u62a4\uff0c\u6d4f\u89c8\u5668\u6682\u4e0d\u652f\u6301\u590d\u5236\u7c98\u8d34 同样的是Unicode编码后的字符串,中文意思为:受原创协议保护,浏览器暂不支持复制粘贴 ;
Unicode编码内容可以借助一些工具进行修改,这里给出站长工具Unicode编码转换链接:http://tool.chinaz.com/tools/unicode.aspx
//按键触发
document.onkeydown = function(){
//禁止ctrl+u
if (event.ctrlKey && window.event.keyCode==85){
return false;
}
//禁止 F12
if (window.event && window.event.keyCode == 123) {
event.keyCode = 0;
event.returnValue = false;
}
}
//网站禁止右键
document.body.oncontextmenu = function() {
self.event.returnValue=false
};
上面代码是当按下相关按键或者按下鼠标右键触发的提示。