复制网内容自动添加版权信息的方法
在网上一搜可以看到很多类似的代码,加入网页body部分就可以。
例如下面这段代码:
- //复制内容自动添加版权信息
- document.body.oncopy = function ()
- {
- setTimeout(
- function ()
- {
- var text = clipboardData.getData("text");
- if (text)
- {
- text = text + "\r\n原文出自【爱思资源网】,转载请保留原文链接:"+location.href;
- clipboardData.setData("text", text);
- }
- },
- 100
- )
- }
这段代码就可以实现,别忘了要写在js文件中或者直接写在页面中用
<script ="text/javascript"> 代码 </script>包含进去。
加上以上代码后,别人在你网站的任何一个页面,复制任何一个文字的东西,粘贴时都会自动带上版权信息。
但这个代码的不足之处是:在IE6上测试通过,而在Firefox、Opera浏览器上没有效果。
为了解决这个问题,请教了很多高手,也在网上查了很多资料,终于解决了,在这里想说一句,度娘真的很强大。
以下贴出兼容代码:
- //复制内容自动添加版权信息
- var Sys = {};
- var ua = navigator.userAgent.toLowerCase();
- if( window.ActiveXObject )
- {
- document.body.oncopy=function()
- {
- event.returnValue = false;
- var t=document.selection.createRange().text;
- var s="\r\n原文出自[爱思资源网] 转载请保留原文链接:"+location.href;
- clipboardData.setData('Text',t+'\r\n'+s);
- }
- }
- else
- {
- function addLink()
- {
- var body_element = document.getElementsByTagName('body')[0];
- var selection;
- selection = window.getSelection();
- var pagelink = "
原文出自[爱思资源网] 转载请保留原文链接:" >+document.location.href;- 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
- );
- }
- document.oncopy = addLink;
- }
这个代码经测试,可以兼容,可能还有不足的地方,如有发现,可以在下方留言,共同探讨、改进。
最好说一点,注意编码问题,如发现复制的内容添加的版权信息乱码,可以自行检查编码问题。
时间: 2024-12-10 02:58:55