安卓、ios h5点击复制内容解决方案

  let H5copyLink = () => {
        if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {
          /**
           * ios中不能复制属性值,只能复制文本元素节点;
           * (解决方案:可以把文字颜色设成背景色就能达到隐藏看不见的效果不影响显示);
           */
          window.getSelection().removeAllRanges(); //这段代码必须放在前面否则无效
          var Url2 = document.getElementById("copy"); //要复制文字的节点
          var range = document.createRange();
          // 选中需要复制的节点
          range.selectNode(Url2);
          // 执行选中元素
          window.getSelection().addRange(range);
          // 执行 copy 操作
          var successful = document.execCommand("copy");
          // 移除选中的元素
          window.getSelection().removeAllRanges();
        } else {
          //创建input
          let inputZ = document.createElement("input");
          //添加Id,用于后续操作
          inputZ.setAttribute("id", "inputCopy");
          //获取当前链接
          inputZ.value = con;
          //创建的input添加到body
          document.body.appendChild(inputZ);
          //选中input中的值
          document.getElementById("inputCopy").select();
          //把值复制下来
          try {
            document.execCommand("Copy");
            uni.showToast({
              title: "复制成功",
              duration: 3000
            });
          } catch (err) {
            uni.showToast({
              title: "此设备暂不支持复制操作,您可以长按文本内容选择复制",
              duration: 2000
            });
          }
          //删除添加的input
          document.body.removeChild(inputZ);
        }
        return;
      };
      H5copyLink(con);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值