html - 自动完成关闭与错误?




google-chrome autocomplete (5)

Chrome版本72.XX之后:

Chrome在字段和表单级别均忽略 autocomplete="off" autocomplete="no-fill"autocomplete="randomText"

我发现的唯一选择是按照一种变通方法,通过欺骗Chrome浏览器在虚拟的文本框和密码上填充自动填充功能,然后从用户视图中隐藏它们。

请记住,旧 style="display: hidden"style="visibility: hidden" 方法也将被忽略。

固定:

因此,创建一个 height: 0px;overflow:hiddenDIV ,该 DIV 仍将呈现HTML元素,但在用户视图中将其隐藏。

样例代码:

<div style="overflow: none; height: 0px;background: transparent;" data-description="dummyPanel for Chrome auto-fill issue">
        <input type="text" style="height:0;background: transparent; color: transparent;border: none;" data-description="dummyUsername"></input>
        <input type="password" style="height:0;background: transparent; color: transparent;border: none;" data-description="dummyPassword"></input>
</div>

只需在HTML表单中添加上面的div,它就可以工作!

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

Chrome在设置中具有一项新功能,您可以在其中添加卡号。 并且要求也禁用该功能。

在所有浏览器中起作用的是在表单级别执行此autocomplete = false。

但这不符合w3规则,因为它们强制将autocomplete = off | on打开。

有人可以向我解释为什么false在所有浏览器中都有效吗?

甚至ie8,所有firefox,safari等。但不符合要求。


作为@camiblanch答案的补充

添加 autocomplete="off" 不会削减它。
将输入类型属性更改为 type="search"
Google不会将自动填充应用于具有搜索类型的输入。


使用 autocomplete =“ my-field-name” 代替 autocomplete =“ off” 。 请小心,因为有些值仍会被识别,例如autocomplete =“ country”。 我还发现使用占位符属性在某些棘手的情况下会有所帮助。

示例: <input type="text" name="field1" autocomplete="my-field-name1" placeholder="Enter your name">

Chrome最近停止使用 autocomplete =“ off”, 因为他们认为开发人员过度使用了 autocomplete =“ off” ,他们对表单是否应该自动完成没有多加考虑。 因此,他们淘汰了旧方法,并让我们使用一种新方法来确保我们真的不希望它自动完成。


自动完成除关闭和错误处理外的值。

autoComplete="nope" autoComplete="foo" autoComplete="boo" autoComplete="anythingGoesHere"

在chrome 76上测试并反应16.9.0


$("#selector").attr("autocomplete", "randomString");  

对于我而言,这每次都可靠地起作用。

注意:我已经在模式显示事件上调用了此LOC。





w3c