一、浏览器自动记住密码功能
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); }
更多: