繁体   English   中英

谷歌浏览器:禁用管理地址的自动完成菜单

[英]Google Chrome: Disable auto-completion menu for Manage Addresses

截至 2019 年 12 月 9 日,使用 Chrome v78.x

在我的 Web 前端应用程序的某些地方禁用自动完成菜单时,我遇到了严重的问题。 特别是在 Chrome 浏览器上,即使我将autocomplete="off"应用于与用户的物理地址相关的文本输入,它仍然用一种新型的自动完成菜单困扰着我,其下方带有“管理地址”选项。

有一点很明显:谷歌浏览器会自动将这种菜单分配给具有“街道”和“目的地 ZIP”等占位符的文本输入。

Chrome 管理地址的自动完成列表

这东西真是太糟糕了,因为除非输入元素与“address-y”术语甚至没有远程关联,否则实际上无法将其关闭。

客户明确表示不应附加自动完成菜单。 但是,如果不使用与地址相关的词,我们就无法显示与地址相关的输入。

解决这个问题的方法是什么?

这就是我经过数小时研究后所做的。 它运作良好且易于实施。

  • 确保输入元素的nameid不包含任何与地址相关的术语。 id="input-street"name="destination-zip"类的属性是大禁忌。

  • 这是最关键的部分:对于需要放置任何人类可读地址术语的输入元素或其任何相邻元素,请在所述术语的字母之间插入“不可见”零宽度连接‌ ( ‌ )

通过这种方式,您可以欺骗 Chrome 的 AI 功能并绕过其严格的自动完成行为。

一些工作示例:

<input id="input-stret" placeholder="S&zwnj;treet" autocomplete="off">

<form action="/action_page.php">
  <label for="product-addres">Product A&zwnj;ddress</label>
  <input name="addres" id="product-addres" autocomplete="off">
</form>

你去吧。 不再有烦人的地址管理菜单,也没有任何常规的自动完成菜单。

特别感谢@jblopez,他指出空字符有时会出现在页面上。

一个干净的解决方案是将输入字段上的autocomplete属性设置为onoff以外的任何内容(这些是保留的,实际上不会将其关闭)。 您可以在此处阅读有关解决方案的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM