是什么使浏览器自动填充电子邮件/密码输入

What makes a browser autofill email/password inputs?

本文关键字:电子邮件 密码 输入 填充 浏览器 是什么      更新时间:2023-09-26

我有一个文本输入和一个密码输入,Chrome经常要求记住自动填充的信息。问题是它不会自动填充该信息。

我如何让它工作?

它是一个单页应用程序,所有请求都是通过 AJAX 发出的。

因此,我的输入非常简单:

<input type="text" placeholder="email" autocomplete="on" />
<input type="password" placeholder="password" autocomplete="on" />

我以为autocomplete="on"会解决它,但也许是因为我不使用表单?这可能是我的一个不好的做法,因为我所做的只是 Ajax 请求,但我如何让它工作?

Chrome 会

解析表单以自动填充。所以你必须在它周围放一个<form>元素,只是不要添加一个提交输入元素,表单就不会打扰你。

另请参阅此答案: 如何在谷歌浏览器中触发自动填充?

从那个安维尔:

正如这些有见地的答案所指出的那样,Chrome用于识别/识别公共字段的所有正则表达式都可以在autofill_regex_constants.cc.utf8中找到。因此,要回答原始问题,只需确保html字段的名称与这些表达式匹配即可。一些例子包括:

  • 名字:"first.*name|initials|fname|first$"
  • 姓氏: "last.*name|lname|surname|last$|secondname|family.*name"
  • 电子邮件: "e.?mail"
  • 地址(第 1 行):"address.*line|address1|addr1|street"
  • 邮编: "zip|postal|post.*code|pcode|^1z$"