1. 程式人生 > >js來監控復制粘貼

js來監控復制粘貼

doc fragment 剪切板 window tran content create contents display

平時我們在復制網頁上面代碼到控制臺調試時,有時會出現復制過來的代碼後面加上了一下描述信息(作者、版權等信息),每次需要刪除才能運行,所以今天看看怎麽能保證我們粘貼的代碼不攜帶這些信息呢?

(function() {
  document.addEventListener(‘copy‘,(e)=>{
    e.preventDefault();
    e.stopPropagation();
    console.info(‘觸發復制事件‘);
    /** 
      返回一個Selection對象,表示用戶選擇的文本範圍或光標的當前位置
      Selection.getRangeAt返回一個包含當前選區內容的區域對象
    
*/ let text = window.getSelection().getRangeAt(0); let node = document.createElement(‘div‘); // cloneContents方法把範圍(Range)的內容復制到一個DocumentFragment對象 node.appendChild(window.getSelection().getRangeAt(0).cloneContents()); /** ClipboardEvent.clipboardData 屬性保存了一個 DataTransfer 對象,這個對象可用於: 描述哪些數據可以由 cut 和 copy 事件處理器放入剪切板,通常通過調用 setData(format, data) 方法; 獲取由 paste 事件處理器拷貝進剪切板的數據,通常通過調用 getData(format) 方法
*/ if(e.clipboardData){ e.clipboardData.setData("text/html", node.innerHTML); e.clipboardData.setData("text/plain",text); }else if(window.clipboardData){ return window.clipboardData.setData("text", text); } }) }());

js來監控復制粘貼