生活随笔
收集整理的這篇文章主要介紹了
js来监控复制粘贴
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? 平時我們在復(fù)制網(wǎng)頁上面代碼到控制臺調(diào)試時,有時會出現(xiàn)復(fù)制過來的代碼后面加上了一下描述信息(作者、版權(quán)等信息),每次需要刪除才能運行,所以今天看看怎么能保證我們粘貼的代碼不攜帶這些信息呢?
(
function() {document.addEventListener('copy',(e)=>
{e.preventDefault();e.stopPropagation();console.info('觸發(fā)復(fù)制事件'
);/** 返回一個Selection對象,表示用戶選擇的文本范圍或光標(biāo)的當(dāng)前位置Selection.getRangeAt返回一個包含當(dāng)前選區(qū)內(nèi)容的區(qū)域?qū)ο?/span>*/let text = window.getSelection().getRangeAt(0);let node = document.createElement('div');// cloneContents方法把范圍(Range)的內(nèi)容復(fù)制到一個DocumentFragment對象node.appendChild(window.getSelection().getRangeAt(0).cloneContents());/** ClipboardEvent.clipboardData 屬性保存了一個 DataTransfer 對象,這個對象可用于:描述哪些數(shù)據(jù)可以由 cut 和 copy 事件處理器放入剪切板,通常通過調(diào)用 setData(format, data) 方法;獲取由 paste 事件處理器拷貝進剪切板的數(shù)據(jù),通常通過調(diào)用 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);}})
}());
?
?
?
更多專業(yè)前端知識,請上
【猿2048】www.mk2048.com
總結(jié)
以上是生活随笔為你收集整理的js来监控复制粘贴的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。