小能豆

如何关闭 html 中输入的自动完成功能?

javascript

我有一个用于从用户获取密码的输入: 在大多数设备中,浏览器会尝试自动完成密码输入(基于保存的密码),但可以说我们不希望这种行为,那么我们如何关闭自动完成功能输入?

搜索并尝试关闭自动完成后找到了这个解决方案,将属性自动完成设置为关闭: 但它不起作用,当页面加载时会发生这种情况,我也尝试了 JavaScript,但它也不起作用 $(“#Password”).val(‘’)


阅读 160

收藏
2024-02-28

共1个答案

小能豆

尽管大多数现代浏览器都支持 autocomplete="off" 属性来禁用自动完成功能,但由于安全和用户体验方面的考虑,浏览器越来越多地选择忽略此属性。

如果您发现 autocomplete="off" 属性无法正常工作,您可以尝试以下替代方法:

  1. 随机化输入字段的名称:尽管不是最理想的解决方案,但有时将输入字段的名称设置为随机字符串可以防止浏览器填充密码。
<input name="F21h2l9j21Password" id="Password" required/>
  1. 使用 JavaScript 清除密码字段:您可以使用 JavaScript 在页面加载时清除密码字段。
<script>
    window.addEventListener('load', function() {
        document.getElementById('Password').value = '';
    });
</script>
  1. 使用 autocomplete="new-password" 属性:这是一个更现代的方法,用于告诉浏览器这是一个新密码字段,应该禁用自动完成。
<input name="Password" id="Password" required autocomplete="new-password"/>

请注意,这些方法的可行性可能会因浏览器的不同而异,并且可能会受到未来浏览器更新的影响。

2024-02-28