複製網內容自動添加著作權資訊的方法
在網上一搜可以看到很多類似的代碼,加入網頁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;
- }
這個代碼經測試,可以相容,可能還有不足的地方,如有發現,可以在下方留言,共同探討、改進。
最好說一點,注意編碼問題,如發現複製的內容添加的著作權資訊亂碼,可以自行檢查編碼問題。