Typecho仿知乎复制文本自带版权声明
侧边栏壁纸
  • 累计撰写 23 篇文章
  • 累计收到 12 条评论

Typecho仿知乎复制文本自带版权声明

怪怪的科长
2021-04-19 / 0 评论 / 34 阅读 / 正在检测是否收录...

  虽然本站的访问量几乎为零,而且我更新不多,主要是貌似没有什么好发的,再加上确实有点懒,博客更新内容不定且随缘,有时候看到什么觉得好的就收集整理一下,权当给自己做个记录了。
  这次看到的是复制文章自带版权信息,感觉还是有点意思的,类似于CSDN那种复制后会在内容后面加一串文字,Typecho也是完全能够做到的。

目的: 访客有意复制文章内容时自动在剪贴板增加版权信息
实现方法: 添加JavaScript代码

功能代码

<script>
document.body.addEventListener('copy', function (e) {
    if (window.getSelection().toString() && window.getSelection().toString().length > 42) {
        setClipboardText(e);
        // alert('商业转载请联系作者获得授权,非商业转载请注明出处哦~\n谢谢合作~(。・`ω´・)');
    }
}); 
function setClipboardText(event) {
    var clipboardData = event.clipboardData || window.clipboardData;
    if (clipboardData) {
        event.preventDefault();
        var htmlData = ''
            + '著作权归作者所有。<br>'
            + '商业转载请联系作者获得授权,非商业转载请注明出处。<br>'
            + '作者:<?php $this->author() ?><br>'
            + '链接:' + window.location.href + '<br>'
            + '来源:<?php $this->options->siteUrl(); ?><br><br>'
            + window.getSelection().toString();
        var textData = ''
            + '著作权归作者所有。\n'
            + '商业转载请联系作者获得授权,非商业转载请注明出处。\n'
            + '作者:<?php $this->author() ?>\n'
            + '链接:' + window.location.href + '\n'
            + '来源:<?php $this->options->siteUrl(); ?>\n\n'
            + window.getSelection().toString();
 
        clipboardData.setData('text/html', htmlData);
        clipboardData.setData('text/plain',textData);
    }
}
</script>

使用方法

可以直接放在主题文件夹下的footer.php最后的一堆script之间,如果考虑到用户体验的话建议只放在post.php文件中。
注:post.php文件为文章内页php文件。

附加说明:该代码有一个弹窗功能,可能会比较影响用户体验,所以马赛克掉了,如果想使用的话直接把注释去掉即可。

参考资料

https://qqdie.com/archives/copyright-dog-fading-imitation-zhihu-copy-text-bring-their-own-copyright-statement.html

0

评论

博主关闭了所有页面的评论