複製網頁內容自動添加著作權資訊的方法(相容IE、Firefox和Chrome)

來源:互聯網
上載者:User
複製網內容自動添加著作權資訊的方法

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






相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。