用jQuery 屏蔽鼠标右键、复制粘贴和F键

如果你是小说原创博客站长、原创写作站长、日记类型网站以及其他内容偏私人的站长,是不是总被一些无良的网站小贼偷偷采集你的网站内容,然后某一天百度上突然看到你的文章内容居然被一个站点copy了去,甚至还百度排名在你的原创文章的前面!这个时候是不是感觉特别气愤?

说说背景:遭遇采集

碎碎念就遇到过一次,《用CSS3打造轻量级的动画效果》 这篇文章在发布大概一天后,在百度上惊讶地发现文章内容的前一大截都被copy到某个站点上去,甚至没有注明转载的链接,不过文章风格和小编的自称依然是我碎碎念,这是真真切切的证据,这个站点居然采集我的文章,而且没有留言告知,你好歹留个言说转载了,我会不同意么?你的站被收录了,而我自己的原创文章却因此迟迟没有被百度收录,你说气不气人!

至今,文章排名在我之前,辛辛苦苦编辑的内容却为他人作嫁衣裳!

屏蔽代码

有没有办法抵挡这种恶心的做法呢?

从站点复制的内容可以看到,应该是直接通过复制采集而去的。所以我们的思路就是,用JS识别按键,然后将返回的键值修改成空(false)。

网络上有很多javascript的代码可以实现,这里就不贴出来啦。功能是一样的,不过就是需要贴在底部直接引用,碎碎念是比较折腾,有现成的代码直接用不就得了?

不行,我想整合到js文件里去,好吧。。。
参考来源:
IE屏蔽鼠标右键、禁止复制粘贴等功能-wiliz blog
jquery禁用右键、文本选择功能、复制按键的实现-Gichan

通过对照着写函数,然后去查询要屏蔽的按键的keycode ,相应地添加进去,然后修改个别不符合jQuery写法的地方,修修补补,然后就出来了下面的代码啦:

屏蔽鼠标右键、复制粘贴和F键view raw
/*
* @Author: nooldey
* @Date: 2018-01-11 13:27:47
* @Last Modified by: nooldey
* @Last Modified time: 2018-01-11 13:33:31
*/
/***功能:屏蔽鼠标右键、复制、粘贴、CTRL、ALT、SHIFT、F2~F12等,仅建议对文章内容独特性要求或不愿意被随意复制内容的站点***/
/* ---------jQuery-------- */
//屏蔽鼠标右键、ALT翻页、CTRL+N、CTRL+R、F2~F12、SHIFT+左键
jQuery(document).ready(function($){
$(document).bind("contextmenu",function(){return false;});
$(document).bind("selectstart",function(){return false;});
$(document).keydown(function(){return key(arguments[0])});
function key(e){
var keyCode;
if(window.event) //IE
{
keyCode = e.keyCode;
}
else if(e.which) //firefox/opera/chrome/netscape
{
keyCode = e.which;
}
if(
(keyCode==112)|| //F2
(keyCode==113)|| //F2
(keyCode==114)|| //F3
(keyCode==115)|| //F4
// (keyCode==116)|| //F5
(keyCode==117)|| //F6
(keyCode==118)|| //F7
(keyCode==119)|| //F8
(keyCode==120)|| //F9
(keyCode==121)|| //F10
// (keyCode==122)|| //F11
(keyCode==123)|| //F12
(keyCode==17)|| //CTRL
(keyCode==16) //shift
//此处填写后续条件
){
alert("别再按了,你节操碎了!");
return false;
}
}
});
/* -----------原生------------ */
/*禁止复制*/
function(){
/* 禁止右键复制粘贴 */
document.oncontextmenu = function(){return false;}
document.onselectstart = function(){return false;}
function key(e) {
var keyCode;
if (window.event) {
//IE
keyCode = e.keyCode;
} else if (e.which) {
//firefox/opera/chrome/netscape
keyCode = e.which;
}
/*
112 //F2
113 //F2
114 //F3
115 //F4
116 //F5
117 //F6
118 //F7
119 //F8
120 //F9
121 //F10
122 //F11
123 //F12
17 //CTRL
16 //shift
*/
//此处填写后续条件
if([112,113,114,115,117,118,119,120,121,122,123,17,16].indexOf(keyCode) > -1){
console.log("别再按了,你节操碎了!");
return false;
}
}
document.onkeydown = function(){
return key(arguments[0])
}
}

当然,要做到完全防止采集,目前是没有这个办法的,因为网站的展现,终归还是会公开一些东西的,只是,我们增加采集者的工作强度,一次两次后,他们就不会再来随意采集了。

声明:

采集虽然不一定违法,但必定是不道德的。
本站对采集行为表示中立,但严重鄙视恶意采集(包括不注明来源、移花接木将自己打造成原创作者等)!

碎碎念试用了两天这段代码,没有出现其他影响,不过,为了方便大家可以复制上面的这些代码,还是忍一忍,把这段屏蔽代码给注释掉了。再发现采集的站点,我会帮他举报一下自己的!

NOOLDEY

本文作者:NOOLDEY

做一个诗情画意的码农,皮皮猪,我们走!

原文链接: http://zhuweisheng.com.cn/html/fuckcopy/

本站文章如无特殊声明均为原创,创作不易,转载请注明来源,谢谢!