[英]Google Chrome: Disable auto-completion menu for Manage Addresses
截至 2019 年 12 月 9 日,使用 Chrome v78.x
在我的 Web 前端应用程序的某些地方禁用自动完成菜单时,我遇到了严重的问题。 特别是在 Chrome 浏览器上,即使我将autocomplete="off"
应用于与用户的物理地址相关的文本输入,它仍然用一种新型的自动完成菜单困扰着我,其下方带有“管理地址”选项。
有一点很明显:谷歌浏览器会自动将这种菜单分配给具有“街道”和“目的地 ZIP”等占位符的文本输入。
这东西真是太糟糕了,因为除非输入元素与“address-y”术语甚至没有远程关联,否则实际上无法将其关闭。
客户明确表示不应附加自动完成菜单。 但是,如果不使用与地址相关的词,我们就无法显示与地址相关的输入。
解决这个问题的方法是什么?
这就是我经过数小时研究后所做的。 它运作良好且易于实施。
确保输入元素的name
和id
不包含任何与地址相关的术语。 id="input-street"
和name="destination-zip"
类的属性是大禁忌。
这是最关键的部分:对于需要放置任何人类可读地址术语的输入元素或其任何相邻元素,请在所述术语的字母之间插入“不可见”零宽度连接‌
( ‌
) 。
通过这种方式,您可以欺骗 Chrome 的 AI 功能并绕过其严格的自动完成行为。
一些工作示例:
<input id="input-stret" placeholder="S‌treet" autocomplete="off">
<form action="/action_page.php">
<label for="product-addres">Product A‌ddress</label>
<input name="addres" id="product-addres" autocomplete="off">
</form>
你去吧。 不再有烦人的地址管理菜单,也没有任何常规的自动完成菜单。
特别感谢@jblopez,他指出空字符有时会出现在页面上。
一个干净的解决方案是将输入字段上的autocomplete
属性设置为on
或off
以外的任何内容(这些是保留的,实际上不会将其关闭)。 您可以在此处阅读有关解决方案的更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.