因此,像我之前的所有人一样,我正在尝试禁用Chrome自动填充功能。
这向我解释了为什么自动完成off does not work:
用户代理可以允许用户覆盖元素的自动填充 栏位名称,例如将其从“关闭”更改为“开启”以允许将值 尽管页面作者有异议,还是记得并预先填写 总是“关闭”,永远不会记住值。但是,用户代理应 不允许用户琐碎地覆盖来自的自动填充字段名称 从“关”到“开”或其他值,因为存在很大的安全性 如果始终记住所有值,则对用户意味着什么, 不论网站的偏好如何。
这应该是the solution:
在某些情况下,浏览器会不断建议自动补全值 即使autocomplete属性设置为off。这出乎意料 行为对于开发人员而言可能非常令人困惑。真正的窍门 强制不补全是为属性分配随机字符串
默认行为
这是预期的。
关闭自动完成功能
这也是预期的。
作为随机字符串自动完成
自动完成功能有所不同,但我仍然看到它,它来自chrome。 (我禁用了扩展程序,仅在Chrome设置中关闭了自动填充功能,阻止自动填充功能显示出来)
任何人都可以解释发生了什么,我如何最终摆脱它?
编辑:
在另一个具有相同格式的输入中,autocomplete="off"
有效,而autocomplete="radnomString!23123adf"
不起作用。将autocomplete
属性设置为form
元素没有帮助。 autocomplete="new-password"
也无济于事。
答案 0 :(得分:3)
只要您输入的内容看起来不像用户个人资料,地址或信用卡数据,就尊重最近的Chrome(肯定是70版)autocomplete="off"
。
另一方面,诸如disabled
,nope
或随机字符串之类的值似乎被忽略。
Chrome可能会忽略自动完成元素,因为您输入的名称为individualName
。自动填充逻辑是由Google在服务器端完成的,因此涉及很多启发式方法。
答案 1 :(得分:2)
要稍微补充一下rjh的答案,Chrome不仅会查看您要禁用自动填充功能的字段的名称/ ID。它正在查看文本框附近的文本。因此,如果您具有“名称:[txtRandomStringTextBox]”,则将假定[txtRandomStringTextBox]实际上是一个名称,并且它将继续建议自动填充。不确定是否可以解决此问题。
尽管它们当前在Chrome 70 .0.3538.102中的实现不太令人讨厌,但如果能够完全解决该问题,那就太好了。
答案 2 :(得分:0)
我在Windows Chrome浏览器上遇到了同样的问题。
Chrome忽略了我关于自动完成功能的设置,并做恶作剧。
使用Chrome version 70+
的计算机在使用新保存的密码时可以正常工作,但是在Chrome version 70
之前创建的密码的计算机上无法正常工作。
在创建了新密码并删除了密码以及其他带有设置等内容的东西之后,我的同伴从AppData清除了Chrome缓存。现在它可以像一台计算机一样正常工作。
Chrome 70中使用新功能respect autocomplete=off
所做的更改似乎无法使用旧存储的密码刷新缓存。 (THX为信息@rjh)
解决方案已删除铬缓存
C:\Users\<yourUser>\AppData\Local\Google\Chrome
希望有帮助。