内容复制加入版权信息

编程开发 / / at

有很多人复制别人的内容时不写入版权信息,这是道德问题!假如想要让别的网站在转载自己的文章时,自动加入我站的版权信息,这个该怎么处理,或许很多人的第一反映就是在加入隐藏的版权信息,让他复制时跟着就复制过去了,可是我想讲下这点的不足:

1:搜索引擎会对隐藏的文本做出惩罚
2:即使字体颜色本与背景色相同,别人复制选择的那一瞬间,也会露出原形

那最好的方法就是利用js插入版权信息在复制内容里,并且功能也会强大的多,下面搜集几段能实现这个效果的javascript代码
版本一

document.body.oncopy=function(){
event.returnValue=false;
var t=document.selection.createRange().text;
var s="本文来自: 漫步浪尖(http://blog.fend.cn) 详细出处参考:"+location.href;
clipboardData.setData('Text',t+'\r\n'+s);
}

版本二

document.body.oncopy = function () {
setTimeout( function () {
var text = clipboardData.getData("text");
if (text) {
text = text + "\r\n本文来自: 漫步浪尖(http://blog.fend.cn) 详细出处参考:"+location.href; clipboardData.setData("text", text);
}
}, 100 )
}

以前做校内网代码站,由于很多都是直接复制css代码的,想让用户复制后的css代码可用,所以进行了注释处理版权信息,修改后的如下:
版本一

document.body.oncopy=function(){
event.returnValue=false;
var t=document.selection.createRange().text;
var s="/* 本文来自: 漫步浪尖(http://blog.fend.cn) 详细出处参考:"+location.href;
var v=" */"
clipboardData.setData('Text',t+'\r\n'+s+v);
}

版本二

document.body.oncopy = function () {
setTimeout( function () {
var text = clipboardData.getData("text");
if (text) {
text = text + "\r\n/* 本文来自: 漫步浪尖(http://blog.fend.cn) 详细出处参考:"+location.href; clipboardData.setData("text", text+" */");
}
}, 100 )
}

这里需要说明的问题是,注意注释的正确写法应该是这样的:

/* 注释内容 */

下面这种是错误的

/* 注释内容*/

如果这样写,IE将忽略这个注释下面的所有css定义,而firefox不会,只是这样一说,其实是加进的js里实现的,对我们没什么影响,但对那些要复制css代码的用户来说,复制完估计就不能用了以后记得*符号和注释内容之间要有一个空格哦

发表评论

电子邮件地址不会被公开。 必填项已用*标注