html - Safari 自动填充 : Trigger password suggestions in Devise registration form

标签 html devise safari keychain osx-mavericks

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

我想要注册表单在当前(Mavericks)版本的 Safari 中触发密码建议:

use safari suggested password

iCloud 钥匙串(keychain)已启用,我在其他页面上获得了建议,只是出于某种原因我的表单无法使用它。

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

这是设计生成的表单:

<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>
  • 我需要如何更改表单以触发密码建议

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

最佳答案

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

我的网站也有同样的问题 dedicated to password generation test cases改进密码生成器。

[PDF] guide made by Apple 中所述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

关于html - Safari 自动填充 : Trigger password suggestions in Devise registration form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19959887/

相关文章:

html - 导航栏位置问题解决

ruby-on-rails - 如何使用设备配置超时?

ruby - 使用 activeadmin 未初始化的常量 Devise (NameError)

javascript - (仅限 Safari)Axios 请求不会将 cookie 发送到 Node.js/Express REST API

html - 如何将多个 less 文件输出到一个 css 文件中,该文件依赖于单独的 less 文件中的变量和混合

html - 如何在getProjectLists上调用我创建的方法,以便从字符串中删除HTML标记

javascript - angularjs - 如何在不使用 getElementById 的情况下获取输入标签中的文件属性

ruby-on-rails-3 - Rails - Devise - "Your password was set successfully. You are now signed in"- 如何禁用?

html - 不能在(以前的)动画列表上使用 MacBooks 触控板滚动

html - Flexbox 在 Safari 中不工作