仿知乎复制文本自带版权声明
# 版权
实现原理
- 监听copy事件
- 使用 window.getSelection() 获取选中的文本
- 使用 clipboardData.setData 操作剪贴板的内容JS 代码
document.body.addEventListener('copy', function (e) {
if (window.getSelection().toString() && window.getSelection().toString().length > 42) {
setClipboardText(e);
alert('商业转载请联系作者获得授权,非商业转载请注明出处,谢谢合作。');
}
});
function setClipboardText(event) {
var clipboardData = event.clipboardData || window.clipboardData;
if (clipboardData) {
event.preventDefault();
var htmlData = ''+'著作权归作者所有。<br>'
+'商业转载请联系作者获得授权,非商业转载请注明出处。<br>'
+'作者:wzblog<br>'
+ '链接:' + window.location.href + '<br>'
+ '来源:Anotherhome<br><br>'+ window.getSelection().toString();
var textData = ''+ '著作权归作者所有。\n'
+ '商业转载请联系作者获得授权,非商业转载请注明出处。\n'
+ '作者:wzblog\n'
+ '链接:' + window.location.href + '\n'
+ '来源:Anotherhome\n\n'+ window.getSelection().toString();
clipboardData.setData('text/html', htmlData);
clipboardData.setData('text/plain',textData);
}
}
演示:
版权狗退散, 妈妈再也不用担心我被侵权了 (其实只防君子不防小人)。
类似知乎, 在网站复制长度大于 42 的文本时自动加上这样的版权声明:
著作权归作者所有。
商业转载请联系作者获得授权, 非商业转载请注明出处。
作者: wzblog
链接:http://blog.wz52.cn/
来源: wzblog 博客
来源:Leonn博客