码迷,mamicode.com
首页 > 其他好文 > 详细

一行代码,阻止浏览器自动填充密码

时间:2015-01-21 22:12:00      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

 使用Chrome、Firefox,还有360和搜狗等浏览器,在某个网站进行提交表单的操作时,浏览器会提示是否保存密码
 
技术分享  技术分享

    如果选择了保存密码,之后在浏览这个网站的任何一个有密码输入框的的表单时,浏览器会把上次保存过的账号和密码自动填入到表单中,输入框的背景变成黄色
    技术分享
技术分享
 
    只是登录页面自动填充的话倒没有什么问题,但是网站任何一个地方的表单都会自动填充,这就会带来很多不必要的麻烦,比如注册页面如果表单涉及到资金方面的数据提交,可能会给用户不安全的感觉。
 
    如果你是一个前端工程师,可能会想屏蔽浏览器的这种自动填充的功能来减少用户的不良体验。网上找到的方法大多数为js方法,要么太繁琐,要么在兼容性方面存在问题。
 
    下面的方法很简单,而且兼容任何浏览器,使用后大部分浏览器在提交表单时就不会提示你保存密码。( 某些浏览器无法阻止保存密码,但是可以阻止自动填充)。
 
    在页面的 第一个password元素 (有些页面会有多个password,如注册页面)之前加入一行代码:
    
<input type="password" style="display: none;">
 
  原理是这样的:
  在提交表单的时候,浏览器会自动检测表单中是否有 password元素 ,如果有就提示是否保存密码(不考虑网银、支付宝等输入密码时需要安装控件的网站);所以想要阻止浏览器保存密码,只要将传统的表单提交方式改为ajax异步提交即可。
 
    当允许浏览器保存该网站的密码之后,下次打开该网站的任何一个页面时,浏览器会自动检测该页面是否有 password元素 ,如果有或者有多个,则自动填充对应的上次已保存的密码,但自动填充的前提条件是:页面中的 第一个password元素 必须要有id属性或name属性。如果两种属性都没有则不会自动填充。

一行代码,阻止浏览器自动填充密码

标签:

原文地址:http://www.cnblogs.com/happyfreelife/p/4240100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!