1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

复制网页内容自动添加版权信息的方法(兼容IE、Firefox和Chrome)

作者:用户 来源:互联网 时间:2016-08-03 17:55:48

版权代码textdocumentvarselection自动复制版权信息

复制网页内容自动添加版权信息的方法(兼容IE、Firefox和Chrome) - 摘要: 本文讲的是复制网页内容自动添加版权信息的方法(兼容IE、Firefox和Chrome), 复制网内容自动添加版权信息的方法 在网上一搜可以看到很多类似的代码,加入网页body部分就可以。 例如下面这段代码: //复制内容自动添加版权信息 

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

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

这段代码就可以实现,别忘了要写在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.     } 
这个代码经测试,可以兼容,可能还有不足的地方,如有发现,可以在下方留言,共同探讨、改进。
最好说一点,注意编码问题,如发现复制的内容添加的版权信息乱码,可以自行检查编码问题。






以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索版权 , 代码 , text , document , var , selection , 自动复制 版权信息 firefox chrome、chrome firefox 对比、firefox和chrome、firefox vs chrome、chrome firefox opera,以便于您获取更多的相关知识。

CSS3禁止网页中文本被选中代码

...前,只有Gecko和webkit支持该属性,包括基本上所有版本的Firefox/Chrome/Safari,IE10中也将支持该属性。当然,各个浏览器都必须加上私有前缀。Opera尚不支持。 或许你常常不希望用户在你的网站上选择文本,无论是否是出于版权的...

KodExplorer 3.37 重大更新,数百项细节优化

...mp3,wav,m4a,aac,ogg,oga - 支持html5及flash自动切换,ie8+,safari,firefox,chrome等主流浏览器 - 视频播放,根据视频宽高自动调整尺寸; - 音乐播放器支持音乐列表;多选文件,右键可添加到播放列表:视频自动过滤 - 跨窗口播放;分享音...

推荐10个2014年最佳的jQuery视频插件

...行CMS平台的相关插件如WordPress, Joomla。   经测试支持 Firefox, Chrome, Opera, Safari, IE6, IE7, IE8, IE9。   3. Tubular   tubular是一个强大的jQuery插件,可以让你设定一个YouTube视频作为你的网页背景。   4. FitVids.js   FitVids.js是一个...

【02】bootstrap起步

...Internet Explorer 8-11。请看下面列出的详细信息。   Chrome Firefox Internet Explorer Opera Safari Android  支持  支持 N/A  不支持 N/A iOS  支持 N/A  不支持  支持 Mac OS X  支持  支持  支持  支持 Windows  支持  支持  支持  支持  不...

JavaScript防止网页被拷贝程序代码

... 注意:上面的代码在IE和Chrome下测试通过,但是在Firefox下鼠标右键不能用但依然可以选中文本,所以出于兼容性考虑, 需要在body的style中加入这么一个属性:  代码如下 复制代码  -moz-user-select:none; 这样一来...

前三篇
后三篇
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

云服务器9.9元/月,大学必备