分享一個關于網頁上無法復制內容的處理技巧
??最近有朋友吐槽CSDN連個框選代碼、復制功能都要登錄才能使用,之前也有聽到過類似的吐槽,這對于很多面向百度開發的程序員并不友好,于是想了個辦法。
??以CSDN為例,當需要復制CSDN上的內容是,可以先在開發者工具的控制臺中輸入下面的代碼執行一遍,就可以使用框選復制了:??
document.querySelectorAll('*').forEach(ele=>{
ele.style.userSelect = 'text'
ele.addEventListener('copy', e => e.stopPropagation())
})
??其實像CSDN這樣需要一些比如登錄、會員等權限才允許復制的場景,多數是在內部文章節點監聽了copy事件,既然這樣,那我們直接在copy的時候直接阻止冒泡就可以了,如果需要,也可以在捕捉階段進行阻止冒泡
??此外,你是否遇到過你復制內容,但是復制的內容中還包含作者的一些信息,比如復制的文章地址等,其實上面這段代碼也能解決這個問題。
??
一個專注于.NetCore的技術小白

浙公網安備 33010602011771號