这与How does browser know when to prompt user to save password?有关,除了我的特定于Safari。
我有一个网站,您可以通过两种不同的方式登录。第一个是您必须输入电子邮件,密码和帐户域名的主站点。第二种方式是实际进入您的域(指向我的服务器),此时您只需要输入您的电子邮件和密码。
以第二种方式登录(两个输入),Safari,Chrome和Firefox都会询问我是否要保存用户名和密码(如预期的那样)。
但是以第一种方式登录(三个输入),只有Chrome和Firefox会问。 Safari没有。
我的表单不是AJAX / Javascript。它有一个表单标签,一个提交按钮,以及三个带有ids /名称的输入 - 电子邮件,密码(类型=密码)和account_domain。我没有autocomplete = off。
有没有人知道Safari要求保存用户名/密码的内容?是不是b / c我有三个输入而不是两个?
作为一个注释,我只使用Safari在我妻子的Mac上进行了相同的测试,并且在任何一种情况下都没有提示她保存。所以我不知道。
我确认我们都没有为这两个网站点击过“永远不记得密码”。
答案 0 :(得分:1)
我遇到了同样的问题,你的帖子回答了我的问题。
我只有一个只需要密码的简单表单,这不会提示手机上的Safari保存密码:
<fieldset>
<legend>Please login below:</legend>
<form role="form" id="access" name="access" method="post">
<div class="form-group form-group-sm">
<label for="password">Password</label>
<input class="form-control" required type="password" placeholder="Enter Password" name="password" id="password" />
</div>
<div class="form-group form-group-sm">
<input class="btn-lg btn-primary center-block" type="submit" value="Login" />
</div>
</form>
阅读完帖子后,我添加了一个“用户名”输入字段,如下所示:
<fieldset>
<legend>Please login below:</legend>
<form role="form" id="access" name="access" method="post">
<div class="form-group form-group-sm">
<label for="username">Username</label>
<input class="form-control" required type="text" placeholder="Enter Username" name="username" id="username" />
</div>
<div class="form-group form-group-sm">
<label for="password">Password</label>
<input class="form-control" required type="password" placeholder="Enter Password" name="password" id="password" />
</div>
<div class="form-group form-group-sm">
<input class="btn-lg btn-primary center-block" type="submit" value="Login" />
</div>
</form>
添加之后,我现在收到了保存密码的提示。
所以我认为Safari正在寻找用户名,姓名,电子邮件等,以便与密码字段相关联。我没有对此进行太多测试,但我确信有经验的人可以验证这一点。
感谢你的帖子。