如何設定能禁止瀏覽器自動儲存表單訊息,例如使用者名,密碼?
現在很多瀏覽器都有自動填寫功能,我在input上使用了autocomplete="off",但在有的瀏覽器上還是被記住了用戶名跟密碼,請問有沒有更有效及簡便的方法來防止瀏覽器記住使用者名稱及密碼?
1、針對瀏覽器記住密碼
1).首先大部分瀏覽器都是根據表單域的type="password"來判斷密碼域的,所以針對這種情況可以採取“動態設定密碼域」的方法:
解釋:當這個文件框取得焦點時才將其變成密碼域,這樣瀏覽器就不會記得密碼,當然為了更加完善,還可以把autocomplete="off"屬性也加上去。
2).在onload事件,清除密碼框的值,即:
3).頁面採用https協議,因為https是不會對表單進行保存資訊的。
4).採用flash做登入表單,這種情況瀏覽器也不會記錄表單資訊。
5).再來個變態的好了,就是可以把type="password"改成type="text",因為type不是password就不會出現記住密碼功能,然後設定一個變數如:var val =""或設定一個隱藏域
,最後用onpropertychange把密碼換成一行圓點,並把值賦給val,提交時再把val的值還原回去,由於效果和*號一樣。 用戶是看不出來的。
2、針對有些瀏覽器插件的自動填表功能
這個就比較麻煩了,我想這種情況應該是插件記住表單域name的值,然後再進行填表,這種情況,我覺得可以在頁面載入時動態更改name的值,當提交表單的時候再把表單的值組合成正確的對應值再提交。這個沒有經過驗證,只是我個人的想法。你可以試試
如果以上這些方法都還滿足不了你,那我也沒辦法了。
建議:
試試看把對應網域下的cookie清除,瀏覽器應該是根據cookie來記住使用者名稱密碼的。
(不是的,有的瀏覽器是在你提交表單後,根據你提交的值來記住的)
(對的有些瀏覽器不記錄在COOKIE 這個比較頭疼順便問下INPUT裡輸入過的值如何清除?用戶名記住。所以解決這個問題的方法就是在使用者名稱input和密碼input之間增加一個type為text的輸入框設定css屬性display為none。