如何阻止 Chrome 预填充输入框?

Posted

技术标签:

【中文标题】如何阻止 Chrome 预填充输入框?【英文标题】:How do I stop Chrome from pre-populating input boxes? 【发布时间】:2011-03-01 06:50:56 【问题描述】:

有什么方法可以阻止 Chrome 自动填充输入框吗?我有一个带有注册表格和登录表格的页面。在 Chrome 中,如果用户已经注册并且他们已经来到此页面进行登录,则注册表单上的密码输入框会填充他们的密码。我真的很想强制注册字段永远不会自动完成。

我试过设置 autocomplete="false" 但这没有什么区别。

【问题讨论】:

如果下面的自动完成答案不起作用,请尝试类似 value=" " (将空字符串设置为默认值)。即使是 chrome 中的插件/插件也不会覆盖输入字段中的现有数据。 【参考方案1】:

autocomplete="off" 在我们的网站上工作。

【讨论】:

供参考(html5 草案规范 - 自动完成):whatwg.org/specs/web-apps/current-work/multipage/…,它看起来(至少部分)在大多数现代浏览器中得到支持。 这与此非标准(直到 HTML5)属性的文档一致:根据 MSDN msdn.microsoft.com/en-gb/library/ms533486(VS.85).aspx、WebKit 文档 developer.apple.com/safari/library/documentation/… 和 Mozilla,“除 off 之外的任何字符串都启用 AutoComplete”文档developer.mozilla.org/en/HTML/Element/Input#Attributes 和 autocomplete="off" 现在也可以在我们的设备上完美运行!感谢那。我确定我读到该属性具有真/假状态。显然我错了。 此解决方案不适用于现代浏览器。 Chrome 只是忽略“自动完成”属性。【参考方案2】:

您可以简单地使用不同的字段名称。

【讨论】:

不能保证这会起作用,而且我真的不应该重构我的表单/依赖项来避免它。就我而言,Chrome 会在名为“registration_form[email][second]”的确认电子邮件字段中自动填写我的用户名。我不确定我什至会改变它以防止这种行为。 Chrome 正在自动完成一个字段,其值甚至不符合 html5 输入 type=email 的要求。它会忽略名称中带有“_username”的输入,然后跳过第一个电子邮件输入框自动填充第二个确认输入框。 今天确认这不适用于最近的浏览器。他们非常高兴地附加到第一个 type="password" 字段之前的第一个 type="text"

以上是关于如何阻止 Chrome 预填充输入框?的主要内容,如果未能解决你的问题,请参考以下文章

阻止 Chrome 显示自动填充选项

预填充 jquery 令牌输入文本框

从 Angular 2 上的查询参数中预填充输入文本框

防止文本框自动填充先前输入的值

预输入数据列表文本框未重置

组合框是自动填充选项,如何让它为空