navigator.clipboard.readtext开发的时候有用,编译后测试却不生效

使用navigator.clipboard.readtext开发的时候有用,编译后测试却不生效

  • 当然,navigator.clipboard.writeText复制也不会生效~
原因
  • 原因就是在本地的时候都是安全域名,编辑后在服务器上测试的时候可能使用的就是不安全域名了(比如http
  • 安全域包括本地访问与开启TLS安全认证的地址,如 https 协议的地址127.0.0.1localhost
解决
  1. 使用clipboard.js,官网https://clipboardjs.com/,具体怎么用看https://www.npmjs.com/package/clipboard

  2. 使用window.isSecureContext判断集合document.execCommand使用(不过document.execCommand废弃了,不推荐使用)

    function copyValue = (value) => {
      value = value + "";
      if(window.isSecureContext){
        navigator.clipboard.writeText(value).then(res=>{
          message.success('复制成功');
        })
      }
        //不安全域使用
        else{
        const textArea = document.createElement('textarea');
        document.body.appendChild(textArea);
        textArea.textContent = value;
        //选择
        textArea.select();
        //复制
        document.execCommand && document.execCommand('copy');
        message.success('复制成功');
      }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未成年梦想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值