<script>
(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) 方法
*/
e.clipboardData.setData("text", text+"\n'''\nhttps://www.***.com/3-wusen/\n欢迎访问我的博客\n'''");
// console.log(node.innerHTML)
// console.log(text)
// 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);
// }
})
}());
</script>
View Code
-----------------------------------------------------------------------------------------------------------------------------------------