自动完成关闭 vs 假?

78

最近我遇到了一个问题,希望可以在所有浏览器中禁用自动完成功能。

Chrome浏览器有一个新的设置功能,你可以添加卡号,但是要求也需要禁用自动完成功能。

在所有浏览器中可行的方法是在表单级别上做 autocomplete=false

但是这不符合w3规则,他们强制要求使用 autocomplete=off|on

请问有谁能解释一下为什么 false 在所有浏览器中都能工作?

即使是ie8、所有火狐浏览器、safari等,但它并不符合规范。


我从另一个帖子中找到了解决方案:https://dev59.com/Imct5IYBdhLWcg3wEJcm#38961567 - Gir32
可能是禁用Chrome自动填充的重复问题。 - Gajus
17个回答

1

autocomplete="none" 对于 AngularJS 和 Angular 7 完美适用。


1
不再是这样了。Chrome 75 - americanslon
2
尝试使用autocomplete="chrome-off",在Chrome v84中对我有效。 - Eduard Void
@EduardVoid 我在Chrome 84上尝试了一下,但没有成功。 - MaNn

0

使用jQuery的解决方案不是完美但可行

$(document).ready(function(){
   if (navigator.userAgent.indexOf("Chrome") != -1) {
      $("#selector").attr("autocomplete", "nope"); // to disable auto complete on chrome
   }
})

0

将自动完成属性设置为true|false或on|off在所有情况下都不起作用。即使您尝试使用占位符,它也不起作用。

我尝试使用autocomplete="no"来避免Chrome自动填充插件。

这个autocomplete="no"应该写在一个输入行内,例如


0
尽管这可能不是最优美的解决方案,但对我而言却行之有效:
JQuery 版本:
$("input:-internal-autofill-selected").val('');

原生JS版本:

document.querySelectorAll("input:-internal-autofill-selected").forEach(function(item){item.value = '';})

当Chrome自动填充输入字段时,该字段会获得一个内部伪元素-internal-autofill-selected(这也会使输入框具有浅蓝色背景)。我们可以使用此伪元素作为选择器,以便撤消Chrome的自动完成/自动填充。
请注意,您可能需要(取决于您的实现)在超时中包装代码,因为Chrome在DOM加载后自动填充。

0
autocomplete="one-time-code"

对我有用。


0

如果您在2023年仍然在寻找答案,请尝试此方法,因为我用它解决了问题。我添加了一个带有autocomplete=false的隐藏输入。

<input autocomplete="false" name="hidden" type="text" style="display:none;">

-5
作为对@camiblanch答案的补充
添加autocomplete="off"是不够的。
将输入类型属性更改为type="search"
Google不会对搜索类型的输入应用自动填充。

10
你不应该使用“not search”来代替“搜索”。 - pronebird
4
在文本字段中,不能使用搜索字段作为替代。在Safari浏览器上,它们看起来不同。它们像是带有圆角和重置按钮的搜索字段。 - pronebird
没错,在我的Chrome浏览器上,版本号为46.0.2490.80(64位),这个方法可行。我试过开启和关闭它。当我直接在输入框中设置“autocomplete”属性时,可以完全看到自动完成功能已经消失了。但是,这种方法在FORM元素上不起作用,所以我不得不将其应用于所有字段。 - pronebird
1
在Chrome浏览器(版本46.0.2490.80 m(64位))中,无论是Jquery的attr autocomplete off还是autocomplete = off都不起作用。False可以使用,但似乎被Visual Studio覆盖了...这对我有用。 - SILENT
1
@highmaintenance 在即将到来的Chrome更新中,搜索输入将变成龙。 - Wesley Murch
显示剩余9条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接