如何在主要浏览器中禁用特定输入(或表单字段)的自动完成?


当前回答

只需设置autocomplete=“off”。这样做有一个很好的理由:您希望提供自己的自动完成功能!

其他回答

2022年9月

一些浏览器,如Google Chrome,甚至不关心autocomplete属性的值。停止获取建议的最佳方法是将输入的name属性更改为随时间变化的属性

截至2022年9月,浏览器将不提供一次性密码自动完成功能

所以我们可以使用otp作为域名。

<input name=“otp”>

在相关的或实际上,在完全相反的注释上-

“如果您是上述表单的用户,并希望重新启用自动完成功能,使用“记住密码”来自此bookmarklets的bookmarklet页它会删除页面上所有表单的所有autocomplete=“off”属性。保持好好战斗!"

Chrome计划支持这一点。

目前,最好的建议是使用很少自动完成的输入类型。

Chrome讨论

<input type='search' name="whatever" />

要与Firefox兼容,请使用normalautocomplete='off'

<input type='search' name="whatever" autocomplete='off' />

为了避免无效的XHTML,可以使用JavaScript设置此属性。使用jQuery的示例:

<input type="text" class="noAutoComplete" ... />

$(function() {
    $('.noAutoComplete').attr('autocomplete', 'off');
});

问题是没有JavaScript的用户将获得自动完成功能。

关于InternetExplorer11,有一个安全功能可以用来阻止自动完成。

它的工作原理如下:

用户输入后在JavaScript中修改的任何表单输入值都被标记为不符合自动完成的条件。

此功能通常用于保护用户免受恶意网站的攻击,这些网站在您输入密码或类似内容后想要更改密码。

但是,您可以在密码字符串的开头插入一个特殊字符来阻止自动完成。这个特殊字符可以被检测到,并在以后的管道中被删除。