13

我有一个使用 Devise 3 的非常标准的 Rails 4 应用程序

我想让注册表在当前(小牛)版本的 Safari 中触发密码建议:

使用 safari 建议的密码

iCloud 钥匙串已启用,我在其他页面上收到建议,只是我的表单由于某种原因无法使用。

我似乎无法弄清楚启用建议究竟需要什么。

这是设计生成的表格:

<form accept-charset="UTF-8" action="/users" class="new_user" id="new_user" method="post">
  <div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" />
    <input name="authenticity_token" type="hidden" value="SKtqmi1L/BKcTE/Hvlvw1H3ZRH8nd2UNiNnVILuLS/E=" />
  </div>

  <div>
    <label for="user_email">Email</label><br />
    <input autofocus="autofocus" id="user_email" name="user[email]" type="email" value="" />
  </div>

  <div>
    <label for="user_password">Password</label><br />
    <input id="user_password" name="user[password]" type="password" />
  </div>

  <div>
    <label for="user_password_confirmation">Password confirmation</label><br />
    <input id="user_password_confirmation" name="user[password_confirmation]" type="password" />
  </div>

  <div><input name="commit" type="submit" value="Sign up" /></div>
</form>
  • 如何更改表单以触发密码建议

  • 是否有任何关于该功能的可用文档?

4

3 回答 3

20

Apple 接受新autocomplete属性:current-passwordnew-password

我的网站也有同样的问题,该网站专门用于密码生成测试用例以改进密码生成器。

Apple 制作的 [PDF] 指南中所述中所述,该autocomplete属性现在接受设置值来帮助解决此问题。
请参阅此处的规范以及其他有效值:https ://html.spec.whatwg.org/multipage/forms.html#attr-fe-autocomplete-new-password

    <form method="post" action="/tests/4/register-submit" >
  <label>
    <div>Name</div>
    <input
      name="name"
      placeholder="name"
      autocomplete="name"
      type="text"
      pattern=".{4,}"
      title="Needs to be 4 characters long."
      required
    />
  </label>
  <label>
    <div>Username</div>
    <input
      name="username"
      placeholder="Username"
      type="text"
      autocomplete="username"
      pattern=".{4,}"
      title="Needs to be 4 characters long."
      required
    />
  </label>
  <label>
    <div>Password</div>
    <input
      name="password"
      placeholder="Password"
      type="password"
      autocomplete="new-password"
      required
    />
  </label>
  <input type="submit" value="Register" />
</form>

由于使用的autocomplete="new-password"属性,该代码有效。autocomplete="current-password"也可以用于登录表单。

这已经被非常有帮助的人测试为有效:@simevidas

于 2015-04-12T21:30:29.313 回答
0

我已经测试了你的代码,它成功地建议了一个密码。因此,除了 HTML 之外,您还有其他问题。

确保以下情况属实:

  1. 您的服务器正在将您的网页正确地输出为 HTML 内容,响应代码为 200。(您可以使用任何浏览器的开发人员工具看到这一点。)

  2. 您使用的是最新版本的 Safari (7.+)

  3. 在 Safari > 首选项 > 密码中检查自动填充用户名和密码。

  4. 尝试在 Safari 中删除您的域的所有已保存密码。

  5. iCloud 中选中了钥匙串(系统偏好设置 > iCloud)

于 2014-09-11T20:56:26.477 回答
-2

也许在表单或输入标签中添加一个 autocomplete="on" 属性是可行的。 http://www.w3schools.com/HTML/html5_form_attributes.asp

于 2014-06-25T14:40:24.580 回答