QQ在线客服

当前位置:首页> 建站> 经验心得

javascript监听页面复制事件添加版权信息

2019-07-27 17:00 来源: lao8 编辑: 佚名 浏览(827)人   

javascript监听页面复制事件添加版权信息这个功能可以使得我们的文章以及代码可以更好的得到宣传。

9343f0c1b8800c671bc0879d15af93c7.jpg

1.介绍

当页面需要做版权保护时,比如当用户复制我们网站的文章时,我们会希望在他copy的文章内容中添加一些版权信息,例如我们的网站地址。

2.实现方法

首先我们需要捕捉到用户的复制事件,这里我们可以使用document.oncopy来绑定触发事件,此时执行复制操作时将会触发addlink方法,addlink方法中将包含所有处理步骤

document.oncopy = addlink;

捕捉到复制事件后我们还需要在addlink事件执行一些操作

function addlink() {

    var body_element = document.body;
    var selection;
    selection = window.getSelection();
    
    var locationHref=document.location.href;
    var appendlink="\r\n\r\n 原文出自[ 一只大脸猫博客 ] 转载请保留原文链接: <a href='"+locationHref+"'>"+locationHref+"</a>";
    
    if (window.clipboardData) { // Internet Explorer    
        var copytext = selection + appendlink;
        
        window.clipboardData.setData ("Text", copytext);
        
        return false;
    
    } else {
    
        var copytext = selection + appendlink;
        var newdiv = document.createElement('div');
        newdiv.style.position='absolute';  
        newdiv.style.left='-99999px';
        body_element.appendChild(newdiv);
        newdiv.innerHTML = copytext;
        selection.selectAllChildren(newdiv);
        window.setTimeout(function() {

            body_element.removeChild(newdiv);
        
        },0);
    
    }

}

在上面的代码中使用了两种方法来兼容各种浏览器

1.直接通过浏览器接口操作剪切板,该方法在chrome firefox等版本较高的ie中可用

2.修改用户选中的内容 该方法基本上兼容所有浏览器

当浏览器不能直接操作剪切板时便会使用第二种方法来确保追加生效

3.完整代码

完整代码就是上面代码可以直接复制使用改掉一些需要改变的内容。

文章作者:会修电脑、爱写鸡汤、爱敲代码、刚写文、互联网新人、计算机爱好者的大脸猫(刚刚开始做文章笔名还没想好暂用“大脸猫”)

【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息发邮件至 kefu@2898.com ,我们将及时沟通与处理。 本站内容除了2898站长资源平台( www.2898.com )原创外,其它均为网友转载内容,涉及言论、版权与本站无关。