开发篇之复制代码块内容并打开新窗口,三种功能按钮

chengfeng 资源网www.3qpd.com 关注 八级站长 VIP
发表于编程技术版块
刚准备发文章就看见乐天发了一个类似的插件https://www.hadsky.com/read-8413-1.htmlemotion真是心有灵犀啊。

介绍下三种功能按钮,第一种单一复制代码块代码,第二种复制单个代码块内容并打开新窗口,第三种复制多个代码块内容并打开新窗口



下面代码的特点就是比官方多了个错误提示。(无法复制时弹出提示窗口!)


因为有些手机浏览器是无法设置剪切板写入权限的,所以是无法复制的,已测试手机QQ浏览器,华为自带浏览器,夸浏览器是不行的。测试可以的是手机谷歌浏览器。电脑浏览器基本上都能复制。


代码块单一复制代码,直接复制到编辑器里面即可。有技术的可以做成插件。

在线演示地址:https://3qpd.com/read-486-1.html

<button id="copy-btn" class="pk-btn pk-btn-success">复制代码</button>
<script>
  document.getElementById('copy-btn').addEventListener('click', function() {
    copyPreCode();
  });
  async function copyPreCode() {
    try {
      var preTags = document.getElementsByTagName('pre');
      if (preTags.length > 0) {
        var code = [].map.call(preTags, function(preTag) { return preTag.innerText; });
        // 在每行代码后面添加换行符
        code = code.join('\n\n\n');
        await navigator.clipboard.writeText(code);
        alert("代码已复制到剪贴板!");
      } else {
        alert("当前页面中没有找到代码块!");
      }
    } catch (err) {
      alert("未开启剪贴板权限!请手动复制!" + err);
    }
  }
</script>

复制单个代码块内容并打开新窗口

在线演示地址:https://3qpd.com/read-484-1.html

复制多个个代码块内容并打开新窗口

在线演示地址:https://3qpd.com/read-485-1.html

Image

评论列表 评论
chengfeng 资源网www.3qpd.com 八级站长 VIP 2#
对了,因为是在乐天复制插件前写的代码,所以有些地方会有代码冲突。开启官网复制插件在使用这个按钮,按钮就失效了。
共0条回复,点击查看回复
发布评论

评论: 开发篇之复制代码块内容并打开新窗口,三种功能按钮

已有0次打赏
(0) 分享
分享

请保存二维码或复制链接进行分享

取消