博客园美化:JS实现页面复制内容时自动添加版权信息

在页尾HTML中添加以下代码:

<script  type="text/javascript">
    var selfLogin = false;
    var follow = $('#profile_block').find('#p_b_follow');
    var block = follow.length >= 1 ? follow[0] : "";
    var followText = (block != null && block != undefined) ? block.innerHTML : "";
    if(followText == "") selfLogin = true;
 
    var pageInfo = '\r\n---------------------\r\n著作权归作者所有。\r\n'
        + '商业转载请联系作者获得授权,非商业转载请注明出处。\r\n'
        + '作者:Shu-How Z\r\n源地址:' + document.location.href
        + '\r\n来源:博客园cnblogs\r\n© 版权声明:本文为博主原创文章,转载请附上博文链接!';
 
    document.addEventListener('copy', function (ev) {
        var targetHTML = $.trim($(ev.target).html());
        // console.log("targetHTML:" + targetHTML)
        if (targetHTML == "") return;
        if (!(targetHTML.startsWith('<table class="hljs-ln"') && targetHTML.endsWith('</table>')) || !selfLogin)  // isLogined
        {
            var selected = window.getSelection();
            var selectedText = selected.toString();  
            let copyRightStr = (selectedText + pageInfo).replace(/\n/g, '\r\n'); // Solve the line breaks conversion issue
 
            ev.clipboardData.setData('text/plain', `${copyRightStr}`);
            ev.preventDefault();
        }
    });
</script>
posted @ 2021-06-20 22:01  Shu_HowZ  阅读(178)  评论(0编辑  收藏  举报
  • 首页
  • 关于
  • 友链
  • 留言板
  • Timeline
  • Mail
  • 发消息
  • 微信
  • QQ
  • 微博
  • Github
  • 百度
  • 宝藏网盘
  • 照片
  • 后台管理