网站复制加版权js代码,版权保护
有时为了尽量保护自己网站的内容版权,在用户复制的过程中自动添加版权后缀。这里讲用户复制字符大于42个时进行加版权处理,代码如下:
原理:
- 監聽 copy 事件
- 使用 window.getSelection() 獲取選中的文本
- 使用 clipboardData.setData 操作剪貼板的內容
已知問題:
iOS Safari 不兼容 clipboardData.setData() 方法,所以在 iOS Safari 上無效
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>'
+ '链接:' + window.location.href + '<br>'
+ window.getSelection().toString();
var textData = ''
+ '著作权归作者所有。\n'
+ '商业转载请联系作者获得授权,非商业转载请注明出处。\n'
+ '链接:' + window.location.href + '\n'
+ window.getSelection().toString();
clipboardData.setData('text/html', htmlData);
clipboardData.setData('text/plain',textData);
}
}