这是在asp.net webforms应用程序上发生的,使用Chrome版本72.0.3626.109(官方构建)(64位)。
该网站受密码保护。用户使用用户名和密码登录。成功登录后,用户将被重定向到“贷款搜索”页面。贷款搜索页面包含少量文本输入。
问题是Chrome会将我的用户名自动填充到其中一个文本输入中(参见图片)。 “tregan”是我在登录页面中输入的用户名。
Chrome始终选择此特定文本输入以自动填充用户名(“联系邮件地址”)。这发生在我自己和我们网站的其他几十个用户身上。
知道Chrome为什么会这样做自动填充,有什么办法可以阻止它吗?我清除了Chrome自动填充缓存,但这并没有解决问题。
答案是在asp.net表单中添加一个名为“username”的不可见文本输入。
几年前,我们在输入不同时遇到了同样的问题。答案是添加一个“密码”类型的隐形输入,如本SO答案所述,向下滚动到“这是如此简单和棘手......”这句话:
下面是完整的修复,我在网站的母版页的表单元素中添加了这两个元素。根据下面的@ Jeff_Mergler评论,将这些输入放在表单标记的顶部:
<input type="text" id="username" style="width:0;height:0;visibility:hidden;position:absolute;left:0;top:0" />
<input type="password" style="width:0;height:0;visibility:hidden;position:absolute;left:0;top:0" />
尝试解决此问题的更多方法:
autocomplete="off"
添加到<form>
和/或<input>
name
/ id
更改为其中没有“name”或“user”的内容<form>
内部用空的<form>
标签包裹元素data-name
而不是name
。您必须相应地更改处理数据的代码。此外,我认为通过⋮→Help→Report an issue
(或Alt + Shift + I)向Google报告此问题有助于他们解决这些问题。