如题,在开发uniapp项目过程中,调用了uni.getClipboardData(OBJECT) API获取剪贴板的内容,然后写入到文本框。
一开始一切都好好的。偶然做了如下测试,然后发现悲剧了!!!具体复现如下:
1、打开微信聊天会话框,在文本框输入随机文本串,eg:“你好 今天天气不错”
2、全选复制后,切换回uniapp调试APP中。
3、点击粘贴后,在控制台监控到获取的却是一个对象,而不是我刚输入的真正的文本,如下图:
然后开始惊慌失措,怀疑人生,是api问题,还是我的问题,我需要解决吗?
猛一想,不科学,我用系统的复制粘贴没有问题啊。没道理我的项目编译成app却不行不能使用剪贴板。
镇定下来之后,想到了用HTM5+提供的Native.js规范来获取剪贴板的内容。于是在社区找到如下获取方式:请转社区论坛-http://ask.dcloud.net.cn/question/2034
然后写入测试,控制台监控,问题仍然在!!
没道理,按照官方的说法“Native.js for Android封装一条通过JS语法直接调用Native Java接口通道,通过plus.android可调用几乎所有的系统API。”
应该是要能获取到文本才对,机缘巧合,我在网络上找到大致的相关介绍:相关文章
然后我尝试将plus.android.invoke(clip,“getText”)获取到的对象再进行一次toString,终于解决了!!谢天谢地。
以下是针对从文本框复制的内容测试,纯文本选择复制的两种测试。都能正常获取到文本了
目前我只考虑安卓机子,不要问我IOS的,我也不知道,不知道,不知道!