javascript - 怎么在微信浏览器中用js触发copy事件?
迷茫
迷茫 2017-04-11 11:46:57
[JavaScript讨论组]

项目中需要实现这样一个功能。点击“复制单号”按钮后复制相应的订单号。

尝试了document.execCommand("copy"),测试返回结果是true,但是不触发copy事件,查询原因是出于安全考虑,不允许通过execCommand触发复制……
尝试了ZeroClipboard.js插件,官网报错提示Flash is disabled or not installed,所有借用flash实现copy的方案被枪毙。

现在想不出来怎么弄了,难道无解一定要用户自己用手指去戳去拖去选复制么...求教

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
天蓬老师

是这样的,由于安全原因,在safari是无法实现复制功能的。

你需要跟PM沟通,这个功能web端实现起来,兼容性确实是有问题的。这个没办法。

体验最好的方式是:

在支持的浏览器下,使用document.execCommand("copy")

若浏览器不支持(例如safari)

一般有两种方案:

1、订单号后面的那一串数字,放入一个新创建的input中,然后用代码选中这些数字,用户就不用长按选中然后点复制了,你帮用户做了第一步,用户只需点击“复制”即可

2、使用prompt('复制失败。请选中下列订单号,手动复制',160714103950727)

PS:我会告诉你,我前几天刚做过这个功能嘛?哈哈

复制到剪切板

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号