摘要:需求开发过程中遇到的需求需要复制请求过来的一段密令类似支付宝淘宝口令到剪切板。网上搜了下,是个相对比较靠谱的第三方。感谢大佬的评论意见使用该方法,会在下次更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的。
需求
开发过程中遇到的需求需要复制 请求过来的一段密令(类似支付宝淘宝口令)到剪切板。
pc端的文本复制到剪切板如果是在pc端的话,可以直接使用原生js进行编写,代码如下:
但是这种方法在移动端会有一些问题,我是在微信公众号开发,发现在微信浏览器中会失效。
网上搜了下,clipboard.js是个相对比较靠谱的第三方。
clipboard.js官方github
目前的star 25k ⭐️
大佬的中文翻译
概括一下两种方式,一种适合复制固定的文本,另一种适合复制从后端获取的数据文本;
具体操作 安装通过npm安装
npm install clipboard --save
通过script+链接导入,可以去BootCDN复制个自己想要的
使用如果是vue文件,只需要在相关的组件中进行clipboard.js导入即刻。
import Clipboard from "clipboard";
编写需要进行复制的相关代码
如果是复制固定文本则如下:
如果是复制从服务器获取的数据则如下:
//这个input可以进行相应的隐藏,例如绝对定位等 .... methods: { handleCopy(){ axios.post("请求链接").then(res=>{ var input = document.getElementById("copy-input"); input.value = res.data //将获取的数据复制给input setTimeout(() => { const copybtn = this.$refs.copy; this.clipboard = new Clipboard(copybtn); }, 100); //利用延时器防止内容没有及时更新等导致报错 }) } }
延时器代码部分,也可以使用vue提供的 nextTick 方法。 //感谢 Grewer 大佬的评论意见
使用该方法,会在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。代码如下:
this.$nextTick(() => { const copybtn = this.$refs.copy; this.clipboard = new Clipboard(copybtn); });
也可以做一些复制成功与否的判断:
clipboard.on("success", function(e) { console.info("Action:", e.action); console.info("Text:", e.text); console.info("Trigger:", e.trigger); alert("复制成功,您复制的链接为"+e.text); e.clearSelection(); }); clipboard.on("error", function(e) { console.error("Action:", e.action); console.error("Trigger:", e.trigger); alert("复制失败") });
这位大佬的demo代码也可以进行参考,亲测有用 -> 使用clipboard.js实现js复制黏贴的功能
可能存在的兼容性问题网上说这个插件可能存在一些兼容性问题,我自己测试了多个手机,包括安卓和ios,暂时还未发现有兼容问题的存在,如果遇到了我再来及时更新
最后感谢各位大佬的参阅,如果有什么问题都可以在评论区提出。
如果觉得对您有帮助的话,也可点个赞,点个收藏,点关注不迷路。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/102294.html
摘要:需求开发过程中遇到的需求需要复制请求过来的一段密令类似支付宝淘宝口令到剪切板。网上搜了下,是个相对比较靠谱的第三方。感谢大佬的评论意见使用该方法,会在下次更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的。 需求 开发过程中遇到的需求需要复制 请求过来的一段密令(类似支付宝淘宝口令)到剪切板。 pc端的文本复制到剪切板 如果是在pc端的话,可以直接使用原生js进...
摘要:特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 特意对前端学习资源做一个汇总,方便自己学习查阅参考,和好友们共同进步。 本以为自己收藏的站点多,可以很快搞定,没想到一入汇总深似海。还有很多不足&遗漏的地方,欢迎补充。有错误的地方,还请斧正... 托管: welcome to git,欢迎交流,感谢star 有好友反应和斧正,会及时更新,平时业务工作时也会不定期更...
阅读 2546·2021-09-26 10:17
阅读 3170·2021-09-22 15:16
阅读 2095·2021-09-03 10:43
阅读 3241·2019-08-30 11:23
阅读 3642·2019-08-29 13:23
阅读 1283·2019-08-29 11:31
阅读 3667·2019-08-26 13:52
阅读 1379·2019-08-26 12:22