阻止浏览器自动填充账号密码(可能的方案)

浏览器自动填充input字段的功能通常是由浏览器的自动完成(autocomplete)功能实现的。当用户在输入字段中键入字符时,浏览器会基于之前键入过的值,显示出在字段中填写的选项。
然而功能虽好,但很多情况下都不需要,甚至很影响用户体验感

解决方法(可能的方案)

1、将密码字段的autocomplete属性设置为off,但是多次测试下发现在很多浏览器下并未生效,需要结合其他方法,如下

<elInput name="txtPassword" type="password" autocomplete="new-password" style="display: none" />
<elInput name="txtPassword" type="password" password v-model="form.password" autocomplete="off" placeholder="密码" :show-password="true">elInput>

2、直接通过js在页面加载完毕后直接将值附空

<elInput name="txtPassword" type="password" password v-model="form.password" autocomplete="off" placeholder="密码" :show-password="true" id="txtPassword">elInput>
// window.onload = function() {
//   document.getElementById('passwordInput').value = '';
// };
setTimeout(() => {
  document.getElementById('txtPassword').value = '';
}, 2000)

请注意,以上只是可能的解决方案,并不能保证完全阻止浏览器自动填充密码。因为浏览器的自动完成功能是由浏览器的开发者设置的,所以不同的浏览器可能会有不同的行为

你可能感兴趣的:(javascript,前端)