前言
我们访问csdn博客时,有时候会看到感兴趣的知识就想把某段文字 copy 摘录下来,当我们只是复制少量文字,并没有什么不同。但是当我们复制的文字多的话会发现多了一个版权说明
如下:
————————————————
版权声明:本文为CSDN博主「我爱敲代码~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_60676278/article/details/128551542
实现
前提:假定所选择的字符串长度大于等于130时带上版权信息
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="copy">
<div>实例一:cv大法好~</div>
<div>
示例二:ES6 是一个泛指,含义是 5.1 版以后的 JavaScript。
ES6 是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。
它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,使之成为企业级开发语言。
</div>
</div>
</body>
<script>
var copyEl = document.getElementById('copy');
copyEl.oncopy = function (e) {
console.log(window, 'rrrr')
if (window.getSelection(0).toString().length >= 130) {
var clipboardData = event.clipboardData || window.clipboardData;
// 阻止默认事件
e.preventDefault();
var copyMsg =
window.getSelection() +
'\r\n————————————————\r\n版权声明:本文为xxx的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。' +
'\r\n原文链接:' + location.href;
// 将处理完的信息添加到剪切板
clipboardData.setData('Text', copyMsg);
}
};
</script>
</html>
通过这个oncopy事件我们就可以将copy的文字附带版权信息啦~