如何在Google Chrome浏览器中触发自动填充?
我想知道是否存在某种特殊标记来启用特定表单的Chrome自动填充功能。我只发现了有关如何禁用它的问题,但是我想知道是否可以在html代码中添加某种标记,以便告诉浏览器“这是地址的输入”或“这是邮政编码”字段”以正确填写(假设用户激活了此功能)。
回答:
_看起来凯蒂(Katie)的答案比我的拥有更多最新信息。
未来的读者:请对她的回答投赞成票。
这是一个很大的问题,令人惊讶地难以获得其文档。实际上,在很多情况下,您会发现Chrome自动填充功能“可以正常使用”。例如,以下html片段生成了一种形式,至少对我来说(Chrome
v。18),该形式会在单击第一个字段后自动填写:
<!DOCTYPE html><html>
<body>
<form method="post">
First name:<input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
E-mail: <input type="text" name="email" /><br />
Phone: <input type="text" name="phone" /><br />
Address: <input type="text" name="address" /><br />
</form>
</body>
</html>
但是,此答案并不令人满意,因为它使解决方案处于“魔术”领域。深入研究后,我了解到Chrome(以及其他支持自动填充功能的浏览器)主要依靠上下文线索来确定应填充到表单元素中的数据类型。此类上下文线索的示例包括name
输入元素的,元素周围的文本以及任何占位符文本。
但是,最近,Chrome小组承认这不是一个令人满意的解决方案,因此他们开始要求对此进行标准化。Google网站站长小组的一篇非常有用的文章最近讨论了此问题,并解释了:
不幸的是,到目前为止,网站管理员很难确保Chrome和其他表单填写提供商可以正确解析其表单。存在一些标准。但是它们给网站的实施带来了沉重的负担,因此在实践中很少使用它们。
(他们指的“标准”是上述Avalanchis答复中提到的规范的最新版本。)
Google帖子继续描述了他们提出的解决方案(该帖子的评论中对此提出了严重批评)。他们建议为此目的使用新属性:
只需将属性添加到输入元素,例如,电子邮件地址字段可能如下所示:
<input type=”text” name=”field1” x-autocompletetype=”email” />
…
x-
代表“实验性”的地方,如果&成为标准,则将被删除。阅读该帖子以获取更多详细信息,或者,如果您想进一步研究,可以在whatwg
Wiki上找到对该建议的更完整说明。
正如这些有深刻见解的答案所指出的,Chrome用来识别/识别公共字段的所有正则表达式都可以在中找到autofill_regex_constants.cc.utf8
。因此,要回答原始问题,只需确保您的html字段的名称与这些表达式匹配即可。一些示例包括:
"first.*name|initials|fname|first$"
"last.*name|lname|surname|last$|secondname|family.*name"
"e.?mail"
"address.*line|address1|addr1|street"
"zip|postal|post.*code|pcode|^1z$"
以上是 如何在Google Chrome浏览器中触发自动填充? 的全部内容, 来源链接: utcz.com/qa/424950.html