公众号页面,IOS手机粘贴内容,重复粘贴

当用户复制验证码后,某些智能机尤其是iOS系统可能会因短信控件的机制,触发两次UITextField.TextFieldTextDidChangeNotification事件,导致验证码自动并重复地填充到输入框。为解决此问题,开发者可以在知晓短信长度的前提下,设定输入框的最大长度为验证码的长度,从而避免重复输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:

短信发送,接受短信后,现在市面上几乎所有的智能机都提供了复制验证码的功能,有一些手机甚至可以自动将验证码填入到输入框中。

于是在开发过程中就出现了,验证码会自动的,且重复的粘贴进输入框两次。

描述图片:

第一步:复制验证码

第二步:粘贴,即出现问题

出现原因

IOS系统,或者其他系统使用的短信控件的问题,他会自动的触发两次UITextField.TextFieldTextDidChangeNotification事件,参考文章

因此会自动的插入进去两次。

解决方案

最简单的解决方案就是,设置文本框的最大长度,为短信的长度。

这个需要在开发之前了解清楚,调用接口的短信长度为多少。

引用[1]:在开发公众号时,你想要在首页获取用户的定位信息。你发现uni.getLocation方法可以获取定位,但是在本地测试时无法使用,只能在部署在服务器上测试。在Android手机浏览器上运行时,获取位置时会有一个获取位置的提示,只要用户点击同意就可以获取精准位置。而在iOS手机上,当用户点击不允许时,就无法获取用户的准确定位。你希望无论用户点击什么,都能获取到经纬度。你尝试了官方的demo,发现它可以达到你想要的效果。你还尝试了一些其他方法,如使用腾讯地图和高德地图,但最终在官方的API介绍中找到了一个解决方法。 引用[2]:你今天使用uni.getLocation获取位置时,发现获取的是当前的经纬度,而不是当前的城市。你在网上搜索了很多方法,最后成功解决了这个问题。首先,你安装了vue-jsonp来解决跨域问题,并将经纬度解析为城市。然后,在需要获取位置的页面中,你写入了相应的代码。你设置了type为wgs84,key为你的腾讯地图的Key,callbackName为默认值,location为uni.getLocation获取到的经纬度。最后,在uniapp软件的manifest.json文件中选择H5配置,勾选腾讯地图,并粘贴你申请的key值。 所以,你的问题是如何在H5中使用getLocation方法获取位置信息。你可以按照上述方法进行操作,包括安装vue-jsonp、引入vue-jsonp、编写获取位置的代码,并在manifest.json文件中配置腾讯地图的key值。这样就可以在H5中成功获取位置信息了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值