laya实现适用于绝大数浏览器( Chrome 安卓 iOS) 上的复制功能 ts

在使用Laya引擎的项目中,遇到手机上无法通过`document.execCommand('Copy')`复制内容的问题。尝试了Clipboard.js等方法未果,最后通过监听canvas事件并模拟点击解决了在OPPO、华为及iOS手机上的复制问题,无需额外添加DOM按钮。
摘要由CSDN通过智能技术生成

在上一篇web上的复制时用到了 document.execCommand(‘Copy’);方法,最近Creator换了Laya引擎,但是复制的底层没有变,document依旧试用,但是要解决一点问题。
原复制方法不变直接沾过来就可以用,使用后发现在手机上无法复制到内容 ,也没有报错,只有execCommand的返回值是false 标志复制失败了,
然后进行尝试修改:
1 尝试 Clipboard.js插件,但是下载Clipboard后发现它的实际方法还是execCommand,只是在外层做了一次包装,(如下图)试用后果然没有解决手机上无法复制的问题
在这里插入图片描述
2 考虑setData太老,ZeroClipboard Flash体积较大 全部pass
3 转一圈回来再看execCommand,本身应该是没有问题的,尝试各种方法发现,只要在DOM上加button标签的按钮 然后手动去点击,手机上就能复制成功
于是尝试用js来模拟点击,

            case this._ui._copyButton:
               
            //    var btn = document.getElementById("btnCopyWXNumber")
            //    btn.addEventListener("click",this.webCopyString);  
            //    document.getElementById("btnCopyWXNumbe
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值