一个热爱网络的小学教师

代码分享:复制文章自动加上版权信息

不少网友在复制和转载文章的时候都不喜欢加上出处,有时甚至会故意去掉作者信息,干脆将复制粘贴来的文章据为己有,明明是别人的文章,还特别标明是自己原创,如果说前者是无心之失,那么后者就是赤裸裸的剽窃了。为了保护自己的内容,不少博客作者加入了复制文章时自动添加版权信息的代码,也算是一种无奈之举吧。

高海鹏的博客最早使用的是月光博客上的代码(点此查看):

<script type="text/javascript">// <![CDATA[
document.body.oncopy=function(){
 event.returnValue=false;
 var t=document.selection.createRange().text;
 var s="本文来源于<?php bloginfo('name'); ?> <?php echo get_settings('home'); ?> , 原文地址: <?php the_permalink() ?> ";
 clipboardData.setData('Text','\r\n'+t+'\r\n'+s+'\r\n');
}
// ]]></script>

不过此段代码仅适用于IE浏览器,在Chrome和Firefox下不仅不起作用,甚至会造成页面内容无法复制,所以只能算是一种有缺陷的方法。

后来我改用了下面的代码(原地址在此):

<script type="text/javascript">// <![CDATA[
if($.browser.msie){//IE
    	document.body.oncopy = function(){
    		setTimeout(
    		 function(){
    			var text = clipboardData.getData("text");
    			 if (text) {
    			 	text = text + "本篇文章来源于PHPCODE8.COM 原文出处:"+location.href; clipboardData.setData("text", text);
    			 }
    		  }, 100 )
    	}
}else{
   document.oncopy = addLink;
}
window.onload = function()
{
	this.focus();
}
function addLink() {

    var body_element = document.getElementsByTagName('body')[0];
    var selection;
    selection = window.getSelection();
    var pagelink = "
本篇文章来源于PHPCODE8.COM 原文出处: <a href='"+document.location.href+"'>"+document.location.href+"</a>";
    var copytext = selection + pagelink;
    var newdiv = document.createElement('div');
    newdiv.style.position='absolute';
    newdiv.style.left='-99999px';
    body_element.appendChild(newdiv);
    newdiv.innerHTML = copytext;
    selection.selectAllChildren(newdiv);
    window.setTimeout(function() {
        body_element.removeChild(newdiv);
    },0);

 }
// ]]></script>

这个代码会自动判断访客的浏览器类型,然后分别添加版权信息,值得一提的是,此段代码完全由js实现,没有用到wp的函数,所以不仅可用于wordpress,还可用于其他系统哦。经过测试,我发现这段代码是比较完美的,推荐给各位Wordpress博主使用。

未经允许不得转载:高海鹏老师的博客 » 代码分享:复制文章自动加上版权信息

分享到:更多 ()

评论 2

Protected by WP Anti Spam

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    方法不错,就是无法复制,原地址倒是可以复制,修改现在的代码,创建test.html文件,

    打开后空空,查看源码可见代码。传到根目录是吗?我把它放在根目录后。示范一下,不管用,不知道差那。

    二手科学家6年前 (2013-11-27)回复
    • 月光博客上的那段代码经测试会导致Chrome和Firefox下无法复制页面文字。下面那段代码没问题,我正在用,上面有原文的链接,您可以看一下具体的使用方法。

      高海鹏6年前 (2013-11-27)回复
点击这里给我发消息