赞
踩
首先uniapp实现复制功能,查找官网API,uni.setClipboardData支持H5,APP等,兼容性很好,
于是就根据官网实现复制功能,代码如下
- handleCopy(){
- uni.setClipboardData({
- data: XXXX,
- showToast:false,
- success: function () {
- console.log("复制成功")
- }
- });
- },
本地测试运行良好,一切正常,我的安卓手机测试运行也是正常,然后就没问题了,提交!
可是提交到线上之后,ios下复制,底部好像在弹出啥东西,闪一下之后,一瞬间又消失了,体验很不好,
123
百度了一下午,有很多方法,navigator.clipboard等等方法都试过,然后以为弹出的是ios键盘,复制成功的方法里面关闭键盘。还是不行;然后还问ChatGPT,搜索到的和百度基本一样,最后以为是苹果的配置的问题,百度关闭ios的剪贴板访问权限,可是根据步骤,根本找不到该项,没办法最后uniapp社区提交了问题,寻找希望!!!
一段时间后有大佬回复
根据大佬的 步骤
第一步安装依赖
npm install clipboard --save
第二步将附件中的js文件放到项目中
js文件内容如下:
- import Clipboard from 'clipboard'
-
- export function handleClipboard (text, event, onSuccess, onError) {
- event = event || {}
- const clipboard = new Clipboard(event.target, {
- text: () => text
- })
- clipboard.on('success', () => {
- onSuccess()
- clipboard.off('error')
- clipboard.off('success')
- clipboard.destroy()
- })
- clipboard.on('error', () => {
- onError()
- clipboard.off('error')
- clipboard.off('success')
- clipboard.destroy()
- })
- clipboard.onClick(event)
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
第三步就根据大佬的回复在页面中引入js文件,然后实现就可以了。
最后测试果然好使,功能正常,ios没有出现闪一下的弹窗!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。