您的位置:阿里西西 > 前端技术 > 脚本技术 > 详细内容

复制网页内容自动添加版权信息的方法(兼...

  本站整理   互联网   2015-08-03   点击:   我要评论
复制网内容自动添加版权信息的方法

在网上一搜可以看到很多类似的代码,加入网页body部分就可以。
例如下面这段代码:
  1. //复制内容自动添加版权信息 
  2. document.body.oncopy = function ()  
  3. { 
  4.     setTimeout( 
  5.         function () 
  6.         { 
  7.             var text = clipboardData.getData("text"); 
  8.             if (text) 
  9.             { 
  10.                 text = text + "\r\n原文出自【爱思资源网】,转载请保留原文链接:"+location.href; 
  11.                 clipboardData.setData("text", text); 
  12.             } 
  13.         }, 
  14.         100 
  15.     ) 
  16. } 

这段代码就可以实现,别忘了要写在js文件中或者直接写在页面中用

<script ="text/javascript"> 代码 </script>包含进去。

加上以上代码后,别人在你网站的任何一个页面,复制任何一个文字的东西,粘贴时都会自动带上版权信息。
但这个代码的不足之处是:在IE6上测试通过,而在Firefox、Opera浏览器上没有效果。

为了解决这个问题,请教了很多高手,也在网上查了很多资料,终于解决了,在这里想说一句,度娘真的很强大。

以下贴出兼容代码:
  1. //复制内容自动添加版权信息 
  2.  var Sys = {}; 
  3.     var ua = navigator.userAgent.toLowerCase(); 
  4.     if( window.ActiveXObject ) 
  5.     { 
  6.         document.body.oncopy=function() 
  7.         { 
  8.             event.returnValue = false
  9.             var t=document.selection.createRange().text; 
  10.             var s="\r\n原文出自[爱思资源网] 转载请保留原文链接:"+location.href; 
  11.             clipboardData.setData('Text',t+'\r\n'+s); 
  12.         } 
  13.     } 
  14.     else 
  15.     { 
  16.         function addLink() 
  17.         { 
  18.             var body_element = document.getElementsByTagName('body')[0]; 
  19.             var selection; 
  20.             selection = window.getSelection(); 
  21.             var pagelink = "
     原文出自[爱思资源网] 转载请保留原文链接:"
    +document.location.href; 
  22.  
  23.             var copytext = selection + pagelink; 
  24.             var newdiv = document.createElement('div'); 
  25.             newdiv.style.position='absolute'
  26.             newdiv.style.left='-99999px'
  27.             body_element.appendChild(newdiv); 
  28.             newdiv.innerHTML = copytext; 
  29.             selection.selectAllChildren(newdiv); 
  30.             window.setTimeout 
  31.             ( 
  32.                 function() 
  33.                 { 
  34.                     body_element.removeChild(newdiv); 
  35.                 },0 
  36.             ); 
  37.         } 
  38.         document.oncopy = addLink; 
  39.     } 
这个代码经测试,可以兼容,可能还有不足的地方,如有发现,可以在下方留言,共同探讨、改进。
最好说一点,注意编码问题,如发现复制的内容添加的版权信息乱码,可以自行检查编码问题。






更多关于 的文章
会员评论所有会员评论

  

相关排行总榜

网页教程

站长文章

特效排行