关于浏览器对输入框自动填充的处理

关于浏览器对输入框自动填充的处理

关于浏览器对输入框自动填充的处理

问题

现在很多浏览器都有记住密码的功能,以我常用的chrome浏览器为例,当某个页面记住了密码之后,若是页面中出现了这样一种情况,整个页面上先后出现了两个input,前一个input是文本输入框,即type为text,后一个input是密码输入框,type为password,浏览器就会将保存的密码进行填充。而这种行为,有些情况下并不是我们想要的。

解决方案

  1. 对于chrome浏览器,对input设置autocomplete="new-password",可以起到不自动填充密码的效果
  2. 对于360浏览器,对于autocomplete不支持,所以得使用一些其他技巧,如下所示:
    1. 给第一个type="text"的input前面再加一个隐藏的type="text"的input和一个隐藏的type="password"的input。(亲测有效,但是博主在不断增加input的情况下,又失效了)
    2. 将密码输入设置为只读,需要编辑时更改其状态(博主使用的是element-ui组件,在设置只读时,会导致一些后置的图标不显示,也放弃)
      <html>
      <head></head>
      <body>
      	<form>
              <label>Login <input type="text" name="login"/></label></br>
              <label>New Password <input type="password" id="password" name="pwd" readonly autocomplete="new-password"/></label><br/>
              <input type="submit">
          </form>
      	<script>
          	document.getElementById('password').onfocus = function() {
              	document.getElementById('password').removeAttribute('readonly');
          	};
          </script>
      </html>
      
    3. type="password"的input放前面,type="text"的input放后面,并使用flex-direction: row-reverse进行调换顺序。(对于360上自动填充的解决,博主使用的是这种方法)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值