一、瀏覽器自動記住密碼功能
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); }
更多: