用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: zws
* @Last Modified time: 2021-05-07 15:26:00
* @Description: 屏蔽鼠标右键、复制、粘贴、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 noCopy() {
/* 禁止右键复制粘贴 */
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/

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