uniapp开发的小程序输入框在ios自动填充密码,如何欺骗苹果手机不让自动填充

1:业务场景:开发的小程序有修改密码功能,测试的手机和在微信开发者工具模拟器上都是好好的,但是忽然发现在ios下小程序的第一个密码输入框会自动填充密码,特别不友好。

也使用了常见阻止input输入框自动填充的属性,也将这些属性组合使用,但是依旧没有效果。

常见的解决方法:

1: 使用autocomplete属性

为输入框添加autocomplete属性可以帮助iOS浏览器更好地识别输入框的用途,从而更准确地提供自动填充功能。例如:

javascript 复制代码
<input type="text" placeholder="用户名" autocomplete="username" />
<input type="password" placeholder="密码" autocomplete="current-password" />

2: 禁用自动填充

如果你不希望iOS自动填充任何信息,可以尝试将autocomplete属性设置为offnew-password(仅对密码字段)。例如:

javascript 复制代码
<input type="text" placeholder="用户名" autocomplete="off" />

<input type="password" placeholder="密码" autocomplete="new-password" />

后来查看原来ios系统很有个性,有自己的想法,通过测试发现,在账号框不为空,密码框不为空,两者都不为空,并且光标离开账号框或者密码框的时候,苹果系统会自 动提示存储密码或者更新密码的提示。又经过大量测试发现,账号输入框只是指的距离密码输入框最近的上一个输入框,因此解决办法 就是在密码输入框上面增加一个账号输入框,让他永远为空,并且不可见即可【页面不可见,不能是display:none) 最终解决办法:

javascript 复制代码
<u-form :model="form" ref="uForm" :label-width="200" :label-style="{'color':'#333','font-size': '36rpx',}"
					autocomplete="off">
					<u-form-item label="输入新密码" required>
						<input type="text" v-model="value" style="width: 1px;min-height: 1px; height: 1px;overflow: hidden; "
							auto-complete="current-password"></input>
						<u-input auto-complete="new-password" maxlength="20" type="password" v-model="form.newPassword"
							placeholder="输入新密码" :readonly="isReadonly" @focus="handleFocus" id="passwordThree" />
					</u-form-item>
					<u-form-item label="确认新密码" required :border-bottom="false">
						<input type="text" v-model="value" style="width: 1px;min-height: 1px; height: 1px;overflow: hidden; "
							auto-complete="current-password"></input>
						<u-input id="passwordFour" maxlength="20" auto-complete="new-password" type="password"
							v-model="confirmPassword" :readonly="isReadonly1" @focus="handleFocus1" placeholder="确认新密码"
							@blur="changePassword" />
					</u-form-item>
				</u-form>

亲测有效,有遇到同样问题的小伙伴可以试一下,如果有其他的好办法,也可以评论区分享给我哟,有什么问题咱们可以一起交流一下哟

相关推荐
程序员猫哥5 分钟前
前端开发,一句话生成网站
前端
皇上o_O8 分钟前
深入理解 Swift Concurrency:从 async/await 到隔离域
ios
Younglina25 分钟前
一个纯前端的网站集合管理工具
前端·vue.js·chrome
木头程序员27 分钟前
前端(包含HTML/JavaScript/DOM/BOM/jQuery)基础-暴力复习篇
开发语言·前端·javascript·ecmascript·es6·jquery·html5
卖火箭的小男孩28 分钟前
# Flutter Provider 状态管理完全指南
前端
小雨青年29 分钟前
鸿蒙 HarmonyOS 6|ArkUI(01):从框架认知到项目骨架
前端
Null15531 分钟前
浏览器唤起本地桌面应用(基础版)
前端·浏览器
pas1361 小时前
31-mini-vue 更新element的children
前端·javascript·vue.js
wordbaby1 小时前
TanStack Router 实战:如何构建经典的“左侧菜单 + 右侧内容”后台布局
前端·react.js
oMcLin1 小时前
如何在 RHEL 7 上优化 Nginx 与 PHP‑FPM 配置,确保高并发 Web 应用的稳定性与响应速度?
前端·nginx·php