一、浏览器自动记住密码功能

1.现在浏览器对表单中的密码域都有自动记住密码功能,只要表单中有密码域就会提示自动记住密码

2.浏览器记住密码功能和表单自动完成是两个独立的功能

3.记住密码功能对整个网站都起作用,跟页面没有关系。也就是说某个页面中记录的密码,在其他页面也会自动完成,只要表单中有密码域就会自动加载

4.这个功能和表单自动完成没有关系,autocomplete设置为off,也会自动加载

5.这个功能跟表单的密码域的名称没有关系

6.这个功能跟表单是否使用submit提交还是使用ajax提交没有关系

二、记住密码和域名相关

1.不同域名的记住密码数据互不干涉

2.对于localhost的本地测试域名 Google和FF浏览器都会记住密码,但是在FF浏览器中对localhost域名记住的用户名密码清除不掉,


也就是在浏览器点击删除历史记录对localhost域名的密码不起作用


3.特别说明,在360浏览器中,记住密码功能将会导致替换掉表单输入框的默认值value,对于其他页面也使用到密码域的地方需要特殊处理一下


 


三、取消浏览器自动记住密码功能

方法1:取消使用浏览器自带的password密码域

方法2:页面延迟加载password密码域

在页面加载成功,再将页面中的文本框设置为type=‘’password’

特别说明:仅使用onload事件对于现在的360浏览器不起作用,解决方案是再使用setTimeOut等待一段时间执行。

示例如下:



<form action="" class="form form-horizontal" autocomplete="off">
<div class="form-group">
<label for="" class="content-label">
用户名:
</label>
<input name="UserName" autocomplete="off" type="text" class="form-control">
</div>

<div class="form-group">
<label for="" class="content-label">
密码:
</label>
<input id='Password3' name="Password3" type="text" class="form-control" />
</div>
<div class="form-group">
<input type="submit" value="登录" class="btn btn-primary">
</div>
</form>



window.onload = function () {
setTimeout(function () {
console.info(3);
$('#Password3').prop('type', 'password');
}, 100);
}