有些網站爲了維護版權信息, 用戶在複製完成後, 發現粘帖出來的內容每每都還有一些做者名字之類的版權信息, 那麼這樣的功能是怎麼實現的呢? 其實原理也是很是的簡單,就是監聽一下剪切板事件.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div>前端好難學啊</div> <script> let oDiv = document.querySelector('div'); oDiv.oncopy = function(e) { // 複製事件 e.preventDefault(); let copyMsg = window .getSelection() + '商業轉載請註明出處。'; // window .getSelection() 表示選擇的內容 e.clipboardData.setData("Text", copyMsg); // 將複製信息添加到剪切板 } </script> </body> </html>
原理: 監聽文本複製事件, 並阻止事件默認行爲,window .getSelection()
表示選中的文本內容, 再調用clipboardData.setData()
方法將修改後的文本添加到剪切板猛戳這裏查看
clipboardData
對象的兼容性前端
注意網站