网站复制加版权js代码,版权保护

有时为了尽量保护自己网站的内容版权,在用户复制的过程中自动添加版权后缀。这里讲用户复制字符大于42个时进行加版权处理,代码如下:

原理:

  1. 監聽 copy 事件
  2. 使用 window.getSelection() 獲取選中的文本
  3. 使用 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);
        }
    }

Tags: javascript

添加新评论