适用需求

平时在使用网页复制文本的时候(双击三击或选中复制),有时候会多复制一个或几个空格(常见于换行),在某些有格式要求的时候就很麻烦,因为看不出来有空格或换行
在复制网页信息的时候希望能够带上自己的一些信息,比如复制别人博客代码的时候会带上出处信息

注意:这个方法存在bug,当复制的内容超过两行之后就行失效,只能复制两行... 但是如果是同一个标签内的内容换行的话是没问题的,慎用~~~~

使用

监听oncopy事件,在触发复制事件之后,修改复制到剪切板的内容

document.oncopy = event => {
    // 获取剪切板内容
    let content = window?.getSelection().toString();
    // 判断当前浏览器是否支持获取剪切板对象
    if (event.clipboardData || event.originalEvent) {
        // 获取剪切板对象
        let clipboardData = (event.clipboardData || window.clipboardData);
        // 重新设置剪切板内容(如果是要加一些版权信息之类的修改这个地方即可)
        clipboardData.setData('text/plain', content.trim());
        // 阻止事件冒泡
        event.preventDefault();
    }
}