意外的Chrome自动填充行为[禁用Chrome自动填充]

时间:2018-11-06 19:57:52

标签: javascript html google-chrome autocomplete autofill

因此,像我之前的所有人一样,我正在尝试禁用Chrome自动填充功能。

这向我解释了为什么自动完成off does not work

  

用户代理可以允许用户覆盖元素的自动填充   栏位名称,例如将其从“关闭”更改为“开启”以允许将值   尽管页面作者有异议,还是记得并预先填写   总是“关闭”,永远不会记住值。但是,用户代理应   不允许用户琐碎地覆盖来自的自动填充字段名称   从“关”到“开”或其他值,因为存在很大的安全性   如果始终记住所有值,则对用户意味着什么,   不论网站的偏好如何。

这应该是the solution

  

在某些情况下,浏览器会不断建议自动补全值   即使autocomplete属性设置为off。这出乎意料   行为对于开发人员而言可能非常令人困惑。真正的窍门   强制不补全是为属性分配随机字符串

默认行为

这是预期的。

default autocomplete

关闭自动完成功能

这也是预期的。

autocomplete off

作为随机字符串自动完成

自动完成功能有所不同,但我仍然看到它,它来自chrome。 (我禁用了扩展程序仅在Chrome设置中关闭了自动填充功能,阻止自动填充功能显示出来

任何人都可以解释发生了什么,我如何最终摆脱它?

编辑:

在另一个具有相同格式的输入中,autocomplete="off"有效,而autocomplete="radnomString!23123adf"不起作用。将autocomplete属性设置为form元素没有帮助。 autocomplete="new-password"也无济于事。

autocomplete as random string

3 个答案:

答案 0 :(得分:3)

只要您输入的内容看起来不像用户个人资料,地址或信用卡数据,就尊重最近的Chrome(肯定是70版)autocomplete="off"

另一方面,诸如disablednope或随机字符串之类的值似乎被忽略。

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

希望有帮助。