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

时间:2021-06-20
本文章向大家介绍博客园美化:JS实现页面复制内容时自动添加版权信息,主要包括博客园美化: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>

原文地址:https://www.cnblogs.com/zhangshuhao1116/p/14908769.html