Chrome 自动填充需要哪些属性?
我希望将我们的网站与 Chrome 的地址自动填充功能结合起来,但我找不到任何关于它如何呈现表单的参考。
我猜它正在寻找表单的 name= 字段中非常具体的东西,但是一个好的参考会很好,而不必对其进行逆向工程。
目前,Chrome 没有填写任何表单,但 Safari 填写了大部分表单。冒着同时问两个问题的风险:有人也得到了 safari 的参考吗? Safari 似乎正在使用我们的 title= 字段...
它不使用这个标准,是吗? http://www.ietf.org/rfc/rfc3106.txt
I was hoping to tie our site in with Chrome's Address Autofill, but I can't find any reference for how it expects the forms to be presented.
I'm guessing it's looking for something pretty specific in the name= fields of the forms, but a good reference would be nice, instead of having to reverse engineer it.
At the moment, Chrome fills none of our forms, but Safari fills most of them. At the risk of asking two questions at once: anyone got a reference for safari as well? Safari seems to be using our title= fields...
It doesn't use this standard, does it? http://www.ietf.org/rfc/rfc3106.txt
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这个问题已经很老了,但我有2017 年更新的答案!
现在有关于如何触发自动完成的完整文档。
这里是用于启用自动完成的官方当前 WHATWG HTML 标准的链接。
以下内容答案来自我的原始答案这里:https://stackoverflow.com/a/41965106/1696153
Google 写了一个<一href="https://developers.google.com/web/fundamentals/design-and-ui/input/forms/#recommended_input_name_and_autocomplete_attribute_values" rel="noreferrer">非常好的指南,用于开发友好的网络应用程序对于移动设备。他们有一个部分介绍如何命名表单上的输入以轻松使用自动填充功能。尽管它是为移动设备编写的,但这适用于桌面和移动设备!
如何在 HTML 表单上启用自动完成功能
以下是有关如何启用自动完成功能的一些要点:
字段使用
autocomplete
属性添加到您的标记中,并使用此 指南。
标记正确命名
name
和autocomplete
属性示例:
如何命名
标签
为了触发自动完成,请确保您正确命名在
标记中命名
name
和autocomplete
属性。这将自动允许表单上的自动完成。确保还有一个!您还可以在此处找到此信息。
以下是如何命名您的输入:
名称
:name fname mname lname
自动完成
:姓名
(全名)given-name
(名字)additional-name
(中间名)family-name
(姓氏)名称
:电子邮件
自动完成
:电子邮件
名称
:地址 城市 地区 省 州 zip zip2 邮政国家
自动完成
:街道地址
地址行1
地址行2
address-level1
(州或省)地址级别2
(城市)邮政编码
(邮政编码)国家/地区
名称
:电话、手机、国家/地区代码、区号交换后缀分机号
自动完成
:tel
姓名
:ccname 卡号 cvc ccmonth ccyear exp-date 卡类型
自动完成
:抄送名称
抄送号码
cc-csc
cc-exp-month
cc-exp-year
cc-exp
cc 类型
名称
:用户名
自动完成
:用户名
名称
:密码
自动完成
:当前密码
(用于登录表单)新密码
(用于注册表单和密码更改表单)资源
This question is pretty old but I have an updated answer for 2017!
There is now full documentation on how to trigger autocomplete.
Here's a link to the official current WHATWG HTML Standard for enabling autocomplete.
The following answer is from my original answer from here: https://stackoverflow.com/a/41965106/1696153
Google wrote a pretty nice guide for developing web applications that are friendly for mobile devices. They have a section on how to name the inputs on forms to easily use auto-fill. Eventhough it's written for mobile, this applies for both desktop and mobile!
How to Enable AutoComplete on your HTML forms
Here are some key points on how to enable autocomplete:
<label>
for all your<input>
fieldsautocomplete
attribute to your<input>
tags and fill it in using this guide.name
andautocomplete
attributes correctly for all<input>
tagsExample:
How to name your
<input>
tagsIn order to trigger autocomplete, make sure you correctly name the
name
andautocomplete
attributes in your<input>
tags. This will automatically allow for autocomplete on forms. Make sure also to have a<label>
! This information can also be found here.Here's how to name your inputs:
name
:name fname mname lname
autocomplete
:name
(for full name)given-name
(for first name)additional-name
(for middle name)family-name
(for last name)<input type="text" name="fname" autocomplete="given-name">
name
:email
autocomplete
:email
<input type="text" name="email" autocomplete="email">
name
:address city region province state zip zip2 postal country
autocomplete
:street-address
address-line1
address-line2
address-level1
(state or province)address-level2
(city)postal-code
(zip code)country
name
:phone mobile country-code area-code exchange suffix ext
autocomplete
:tel
name
:ccname cardnumber cvc ccmonth ccyear exp-date card-type
autocomplete
:cc-name
cc-number
cc-csc
cc-exp-month
cc-exp-year
cc-exp
cc-type
name
:username
autocomplete
:username
name
:password
autocomplete
:current-password
(for sign-in forms)new-password
(for sign-up and password-change forms)Resources
有很多内容可能是“预期的”(例如 RFC3106 中的内容或hCard 格式),但最终取决于您可以在Chromium 来源 代码,我猜。
这个特定部分似乎是 Chromium 的 AutoFill 实现 您可能感兴趣,我对此感兴趣使用 Google 代码搜索功能 适用于 Chromium 现已通过 Google 代码项目托管提供。
一些用于正则表达式的常量经过外部处理在
autofill_regex_constants 中定义.h
并以相当 广泛autofill_regex_constants.cc.utf8
中的列表(即使支持 I18N!)。There are a bunch of stuff that could be "expected" (like things in RFC3106 or the hCard format) but in the end it comes down to what you can find in the Chromium source code, I guess.
This specific section which seems to be Chromium's AutoFill implementation is probably of interest for you, which I found by using the Google Code Search feature for Chromium now available via Google Code Project Hosting.
Some of the constants are extern-ed used for regular expressions are defined in
autofill_regex_constants.h
and provided in a fairly extensive list (even with I18N support!) inautofill_regex_constants.cc.utf8
.看起来 Chrome (v51.0) 实现了以下规范: https://html .spec.whatwg.org/multipage/forms.html#autofill
这意味着您可以使用 Chrome 应填写的特定类型的值来填充
autocomplete
属性。示例:
(显然我在示例中省略了标签)
It looks like Chrome (v51.0) implements the following spec: https://html.spec.whatwg.org/multipage/forms.html#autofill
This means that you can populate the
autocomplete
attribute with specific types of values that Chrome should fill in.Examples:
(Obviously I've left out the labels on the examples)