项目中需要实现这样一个功能。点击“复制单号”按钮后复制相应的订单号。
尝试了document.execCommand("copy"),测试返回结果是true,但是不触发copy事件,查询原因是出于安全考虑,不允许通过execCommand触发复制……
尝试了ZeroClipboard.js插件,官网报错提示Flash is disabled or not installed,所有借用flash实现copy的方案被枪毙。
现在想不出来怎么弄了,难道无解一定要用户自己用手指去戳去拖去选复制么...求教
是这样的,由于安全原因,在safari是无法实现复制功能的。
你需要跟PM沟通,这个功能web端实现起来,兼容性确实是有问题的。这个没办法。
体验最好的方式是:
在支持的浏览器下,使用
document.execCommand("copy")
若浏览器不支持(例如safari)
一般有两种方案:
1、订单号后面的那一串数字,放入一个新创建的
input
中,然后用代码选中这些数字,用户就不用长按选中然后点复制了,你帮用户做了第一步,用户只需点击“复制”即可2、使用
prompt('复制失败。请选中下列订单号,手动复制',160714103950727)
PS:我会告诉你,我前几天刚做过这个功能嘛?哈哈
复制到剪切板