js复制文本

 

    copyText(text){
      try {
        navigator.clipboard.writeText(text)
        console.log('navigator: ', navigator);
      } catch (error) {
        let oInput = document.createElement("input")
        oInput.value = text // 这里记录的就是需要保存的值
        document.body.appendChild(oInput)
        oInput.select()
        document.execCommand("Copy")
        oInput.className = "oInput"
        oInput.style.display = "none"
      }
    },

 

如果复制的文本是异步获取的,Safari会有兼容问题,建议在异步获取到文本后,弹个窗出来再让用户点击复制

 

      // 检测是否为Safari浏览器
      const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
      if(isSafari){
        this.$confirm({
          icon: ' ',
          title: ' ',
          content: text,
          okText: '复制',
          cancelText: '取消',
          onOk: () => {
            this.copyText(text)
            this.$message.success("复制成功")
          },
        })
      } else {
        this.copyText(text)
        this.$message.success("复制成功")
      }

 

posted @ 2025-07-04 15:41  青云码上  阅读(56)  评论(0)    收藏  举报