sword

Typecho复制后弹窗提示注明原文链接
概述有时候挺无奈的,自己折腾了一些东西,记录下来,好不容易写出一篇文章,被复制粘贴去,还不给你留原文链接,如果加上...
扫描右侧二维码阅读全文
04
2019/05

Typecho复制后弹窗提示注明原文链接

概述

有时候挺无奈的,自己折腾了一些东西,记录下来,好不容易写出一篇文章,被复制粘贴去,还不给你留原文链接,如果加上禁止复制代码,又违背了博客分享的精神,况且技术类博客让别人复制代码也是重要的功能之一。

那么可以在读者复制之后加一个弹窗,提醒在转载时注明原文出处。文章的内容可以复制,但复制后会弹出版权提示,是一种折中的处理方法,既能提高读者版权意识又不太影响用户体验。

使用方法

这里复制后弹窗提示我们可以用layer的web弹层组件,当然也有很多种其他方法,不过博主感觉这个方法效果比较好!

可以去官网自行下载:layer-v3.1.1.zip

这里以handsome主题为例,其他主题也是差不多的设置方法!

1、解压layer-v3.1.1.zip文件,然后把里面的layer文件夹整个放到/usr/uploads文件夹下;

2、在主题目录下post.php中末尾插入下面的代码(考虑到用户体验,建议只放在post.php文件即文章内页php文件即可,header.php和footer.php还是别放了)

<script src="/usr/uploads/layer/layer.js"></script>

3、在主题设置-开发者设置-自定义JavaScript中插入以下代码(注意handsome主题默认是有<script>标签的,所以代码不需要这个)
即如果复制的字符长度大于50则弹窗提示,

document.body.oncopy = function() 
    {
        if (window.getSelection().toString() && window.getSelection().toString().length > 50)
        {layer.msg('复制成功,若要转载请务必保留原文链接!');}        
    };

4、效果
请输入图片描述

Last modification:May 4th, 2019 at 07:31 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

2 comments

  1. lgc   ( Windows 10 x64 Edition Windows 10 x64 Edition / Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 )

    Typecho的主题设置-开发者设置是在哪呀?

    1. sword   ( Windows 7 x64 Edition Windows 7 x64 Edition / Google Chrome 74.0.3729.169 Google Chrome 74.0.3729.169 )
      @lgc

      handsome主题里面不是有很多设置项,其中就包括开发者设置啊