点击小眼睛开启蜘蛛网特效

模仿知乎利用JS实现复制信息带文章信息版权保护

《模仿知乎利用JS实现复制信息带文章信息版权保护》

版权信息一直是比较令人头疼的问题。

对于个人博客的博主来说,如果博客中文章被恶意转载(不注明地址,不写明作者),那肯定很令人恼火,当然有很多途径去解决这些问题,比如向网站管理员说明,或者找法律组织,当然,如果不出现恶意转载,也就就不会那么多事儿。

知乎对知识的分享和获取有着很好的权衡,当你复制知乎上的回答内容时,就会连同版权信息一起复制了过去。

下面是一个版权信息例子。

著作权归Oldpan博客所有。
商业转载请联系博主获得授权,非商业转载请注明出处。
作者:Oldpan
链接:https://oldpan.me/archives/pytorch-load-static-data
来源:Oldpan博客

我们接下来就是要通过js实现这个过程,先看下面的代码:

 var G = function(a, b, c){
    // 返回信息数组
    function d(a, b) {           
        return ['著作权归Oldpan博客所有。',
            '商业转载请联系博主获得授权,非商业转载请注明出处。',
            '作者:' + b,
            '链接:' + a,
            '来源:Oldpan博客',
            '',
            ''
        ]
    }
    // 拼接成html
    function f(b, c, m) {
        return '<div>' + d(b, c).join('<br />') + m +'</div>'
    }
    // 处理copy
    function g(a){
        if(!window.getSelection){
            return;
        }
        var m = window.getSelection().toString();
        if ('object' === typeof a.originalEvent.clipboardData) {
            var m = window.getSelection().toString();
            a.originalEvent.clipboardData.setData('text/html', f( b, c));
            a.originalEvent.clipboardData.setData('text/plain', d(b, c).join('\n') + m);
            a.preventDefault();
            return;
        }         
        var n = $(f(b, c, m)).css({
            position: 'fixed',
            left: '-9999px'
        }).appendTo('body');
        window.getSelection().selectAllChildren(n[0]);

    }
    function hander(a){    // 定义执行函数
        g(a);
    }
  a.on('copy', hander);    //a与动作copy绑定,有copy动作时执行hander函数。   
}
var a = $('.post-content');     // 确定哪块内容要执行复制版权动作 要修改的地方
G(a, location.href, a.data('name'))    // 总执行函数

要修改的地方即倒数第二行中:

$(‘ 要修改的地方 ‘)

的内容。改成博客中html文件中放置内容的标签class:

比如下面这个div标签的class就和上面的代码对应:

<div class="post-content" data-name="xxx"> 文章内容 </div>

将上面的data-name改成作者的名称,然后将上面的代码嵌入body中的script块中即可。

《模仿知乎利用JS实现复制信息带文章信息版权保护》

参考链接:

https://www.zhihu.com/question/38140568/answer/75082553

  点赞
本篇文章采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可
转载请务必注明来源: https://oldpan.me/archives/copy-text-attach-right

   关注Oldpan博客微信公众号,你最需要的及时推送给你。


  1. 九千鸦说道:

    thx :idea: