uni-app uni.setClipboardData在iOS手机浏览器中无法使用
uni-app uni.setClipboardData在iOS手机浏览器中无法使用
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | 13.4.1 | HBuilderX |
产品分类:uniapp/H5
浏览器平台:微信内置浏览器
浏览器版本:微信8.0.41
App下载地址或H5网址:[https://h5.sass.romawaysz.com/pages/circle/index?teacher_code=6303883550](https://h5.sass.romawaysz.com/pages/circle/index?teacher_code=6303883550)
### bug描述:
uni.setClipboardData 在iOS手机 微信浏览器和Safari浏览器都报错,APP上正常
### 示例代码:
uni.setClipboardData({data: ‘分享链接…’})
### 操作步骤:
uni.setClipboardData({data: ‘分享链接…’})
### 预期结果:
uni.setClipboardData({data: ‘分享链接…’})
### 实际结果:
uni.setClipboardData({data: ‘分享链接…’})
更多关于uni-app uni.setClipboardData在iOS手机浏览器中无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
页面点击分享按钮,弹窗中点击复制链接
更多关于uni-app uni.setClipboardData在iOS手机浏览器中无法使用的实战教程也可以访问 https://www.itying.com/category-93-b0.html
mac电脑上Safari也不行
data 是字符串类型,,获取验证码读秒,有点小问题
data String 是 需要设置的内容
@栉风 麻烦问一下,这个问题解决了嘛。也遇到了这个问题,在IOS设备上不行
这是由于iOS浏览器安全限制导致的常见问题。在iOS的微信浏览器和Safari中,出于安全考虑,JavaScript无法直接访问剪贴板,必须通过用户手势触发。
解决方案:
- 确保复制操作是由用户直接触发的(如click事件)
- 使用兼容性写法:
document.addEventListener('click', () => {
uni.setClipboardData({
data: '分享链接...',
success: () => {
uni.showToast({title: '复制成功'})
},
fail: (err) => {
console.log('复制失败', err)
}
})
})