Html Chrome Autofill需要哪些属性?

Html Chrome Autofill需要哪些属性?,html,google-chrome,web,autofill,Html,Google Chrome,Web,Autofill,我希望将我们的网站与Chrome的地址Autofill联系起来,但我找不到任何关于它希望如何呈现表单的参考资料 我猜它是在表单的name=字段中寻找一些非常具体的东西,但是一个好的引用会很好,而不必对其进行反向工程 目前,Chrome没有填充任何表单,但Safari填充了大部分表单。冒着同时问两个问题的风险:有人也得到了狩猎的推荐人吗?Safari似乎在使用我们的标题=字段 它不使用这个标准,是吗 有很多东西是可以被“期待”的(比如在或中的东西),但我想最终还是取决于你能在中找到什么 这一特定的

我希望将我们的网站与Chrome的地址Autofill联系起来,但我找不到任何关于它希望如何呈现表单的参考资料

我猜它是在表单的name=字段中寻找一些非常具体的东西,但是一个好的引用会很好,而不必对其进行反向工程

目前,Chrome没有填充任何表单,但Safari填充了大部分表单。冒着同时问两个问题的风险:有人也得到了狩猎的推荐人吗?Safari似乎在使用我们的标题=字段


它不使用这个标准,是吗

有很多东西是可以被“期待”的(比如在或中的东西),但我想最终还是取决于你能在中找到什么

这一特定的部分似乎是您可能感兴趣的,我通过使用现在通过提供的功能发现了这一点

一些用于正则表达式的参数在
autofill\u regex\u constants.h
中定义,并在
autofill\u regex\u constants.cc.utf8
中以相当的形式提供(即使支持I18N!),看起来Chrome(v51.0)实现了以下规范:

这意味着您可以使用Chrome应填写的特定类型的值填充
autocomplete
属性

示例:

<input type="text" autocomplete="address-line1" id="a1" name="a1" />
<input type="text" autocomplete="address-line2" id="a2" name="a2" />
<input type="text" autocomplete="address-level2" id="city" name="city" />
<input type="text" autocomplete="address-level1" id="state" name="state" />
<input type="text" autocomplete="country-name" id="country" name="country" />

<input type="text" autocomplete="tel" id="phone" name="phone" />
<input type="text" autocomplete="email" id="email" name="email" />


(显然,我遗漏了示例上的标签)

这个问题很老了,但我有一个2017年的更新答案

现在有关于如何触发自动完成的完整文档。

下面的答案来自我的原始答案:

谷歌为开发对移动设备友好的web应用程序写了一份报告。他们有一节介绍如何命名表单上的输入,以便轻松使用自动填充。尽管它是为移动设备编写的,但它同时适用于桌面和移动设备

如何在HTML表单上启用自动完成 以下是有关如何启用自动完成的一些要点:

  • 对所有
    字段使用
  • 在您的
    标签中添加一个
    自动完成
    属性
    ,并使用此属性进行填充
  • 为所有
    标记正确命名您的
    名称
    自动完成
    属性
  • 示例

    <label for="frmNameA">Name</label>
    <input type="text" name="name" id="frmNameA"
    placeholder="Full name" required autocomplete="name">
    
    <label for="frmEmailA">Email</label>
    <input type="email" name="email" id="frmEmailA"
    placeholder="name@example.com" required autocomplete="email">
    
    <!-- note that "emailC" will not be autocompleted -->
    <label for="frmEmailC">Confirm Email</label>
    <input type="email" name="emailC" id="frmEmailC"
    placeholder="name@example.com" required autocomplete="email">
    
    <label for="frmPhoneNumA">Phone</label>
    <input type="tel" name="phone" id="frmPhoneNumA"
    placeholder="+1-555-555-1212" required autocomplete="tel">
    
    名称
    电子邮件
    确认电子邮件
    电话
    
如何命名您的
标签 要触发自动完成,请确保在
标记中正确命名
名称
自动完成
属性。这将自动允许表单上的自动完成。还要确保有一个
!也可以找到这些信息

以下是如何命名您的输入:

  • 名字
    • 使用以下任一选项:
      name fname mname lname
    • 将其中任何一项用于自动完成:
      • 名称
        (全名)
      • 给定名称
        (用于名字)
      • 附加名称
        (用于中间名称)
      • (姓氏)
    • 示例:
  • 电子邮件
    • 对于
      名称
      电子邮件
    • 将其中任何一项用于
      自动完成
      电子邮件
    • 示例:
  • 地址
    • 将其中任何一项用于
      名称
      地址城市地区省州邮编zip2邮政国家
    • 将其中任何一项用于自动完成:
      • 对于一个地址输入:
        • 街道地址
      • 对于两个地址输入:
        • 地址行1
        • 地址行2
      • 地址级别1
        (州或省)
      • 地址级别2
        (城市)
      • 邮政编码
        (邮政编码)
      • 国家/地区
  • 电话
    • 将其中任何一项用于
      名称
      手机国家/地区代码交换后缀ext
    • 将其中任何一项用于自动完成
      电话
  • 信用卡
    • 对于
      名称
      ccname卡号cvc ccmonth ccyear exp日期卡类型
    • 将其中任何一项用于自动完成:
      • cc名称
      • cc编号
      • cc csc
      • cc exp月
      • cc exp year
      • cc exp
      • cc类型
  • 用户名
    • 将其中任何一项用于
      名称
      用户名
    • 将其中任何一项用于自动完成
      用户名
  • 密码
    • 将其中任何一项用于
      名称
      密码
    • 将其中任何一项用于自动完成:
      • 当前密码
        (用于登录表单)
      • 新密码
        (用于注册和密码更改表单)
资源
  • 。几乎每天都在更新。读得好
  • 2015年

谢谢你的提示。我做了很多搜索,但没有找到这个。不过,它看起来像是荒野的西部。@Alec:我认为你最好直接看Chromium的代码,如果这真的是你唯一想瞄准的浏览器的话。看看我的答案。@Alec:这回答了你的问题吗?请不要添加多个问题。回答最好的一个,并将其余的标记为重复项。看见