新的问题产出: 华为的机型调用wx.setClipboardData可以通过data参数来设置粘贴内容,但是华为手机的输入法(小艺输入法)通过快捷粘贴的功能也可以将文本重新粘贴到input当中。 有没有大佬有解决方案?
关于wx.setClipboardData在安卓中调用失败原因?问题发生的原因: 接到公司中的一个需求,需要禁止用户的粘贴和复制功能,oncopy和onpaste这两个事件在小程序中没有具体的绑定规则,经过实验绑定此方法无效,后续通过在用户进入页面时手动设置用户从外部复制粘贴过来的内容,规避用户复制的操作,来实现这个需求。 wx.setClipboardData在IOS平台下将data参数设置为空串时,可以触发此事件,当安卓机型进行调用时则提示调用该方法失败。 onShow() { console.log('onShow') // 禁止用户复制粘贴 uni.setClipboardData({ data: '', success: (res) => { console.log('success', res) uni.hideToast() }, fail: (err) => { console.log('fail', err) }, complete: (c) => { console.log('complete', c) } }) } 踩坑点: 后续将data设置为空格字符时,安卓测试调用该wx.setClipboardData方法成功。 [图片] uni.setClipboardData({ data: ' ', success: (res) => { console.log('success', res) uni.hideToast() }, } 期望: 望微信团队能够对此API做出调整,不同机型相同的平台下相同API需要做到参数的统一,严谨。
2023-03-13