是否可以禁用自动完成?

Posted

技术标签:

【中文标题】是否可以禁用自动完成?【英文标题】:Is it possible to disable autocomplete? 【发布时间】:2011-04-13 10:27:53 【问题描述】:

我知道我不应该这样做,但向客户解释你应该通过浏览器进行可能会更容易。他们有一台公共计算机和一台在管理员帐户中运行的服务器(我正在编写的代码)。他们希望人们输入他们的信息,但他们不希望有人按下电子邮件输入框以显示 ppls 电子邮件地址。有没有办法可以通过 IE 中的代码禁用它? (我相信他们使用的是 6,但他们可能使用 7 或 8)。

【问题讨论】:

【参考方案1】:

使用非标准的autocomplete属性:

autocomplete="off"

适用于所有现代浏览器。但是会破坏 html 4 验证。 No way around that。将在HTML 5 中有效。

参考:

Mozilla:How to Turn Off Form Autocompletion

IE:Using AutoComplete in HTML Forms

【讨论】:

所以<input ... autocomplete="off"> 好的,我现在就试试这个。 -编辑-是的,它起作用了!我会接受的 您可以使用 javascript 将自动完成属性附加到文本框,不是吗?然后它会工作,你的页面仍然会验证。两全其美。 @Timothy 好主意,但这不适用于在页面加载时自动完成的表单值。禁用有效 HTML 的唯一方法是在每个请求上重命名表单元素,例如 user124928239 ... 这也不再起作用了,因为我的表单输入名称是在加载时随机生成的,但仍然包含相同的信息,因此无法再绕过自动填充【参考方案2】:
<input name="name" autocomplete="off">

【讨论】:

以上是关于是否可以禁用自动完成?的主要内容,如果未能解决你的问题,请参考以下文章

在 UIWebView/WKWebview 中禁用自动完成

使用自动完成填充表单时,Javascript 不启用按钮

使用角形和镀铬禁用自动填充/自动完成

网页禁用表单的自动完成功能禁用密码自动填充autocomplete

在 javascript 中禁用 Visual Studio 自动完成注释

禁用 Firefox 自动填充 html 表单但保持自动完成