删除 HTML 表单的 Chrome 自动填充功能

Posted

技术标签:

【中文标题】删除 HTML 表单的 Chrome 自动填充功能【英文标题】:Remove Chrome autofill for HTML forms 【发布时间】:2014-12-17 06:27:39 【问题描述】:

我在 html 中创建了一个简单的表单,它有两个字段:用户名和密码,然后是一个登录按钮。 当我在 Chrome 中运行该页面时,它会将我的 XAMPP-phpmyadmin 用户名和密码填充到两个字段中,并将它们突出显示为黄色。 我怎样才能完全删除它,所以它们是空白的。谢谢

HTML 表单代码:

<html>


    <form action= "entryformlogon.php" method = "post" autocomplete="off">
            Username: <input type="text" name="Username"><br>
            Password: <input type="password" name="Password"><br>
                      <input type="submit" value="Log in">
    </form>


</html>

【问题讨论】:

【参考方案1】:

autocomplete="off" 必须添加到每个输入元素。即

<input type="text" name="Username" autocomplete="off">

【讨论】:

我刚试过,看看:jsfiddle.net/yq3t5b9p 在 jsfiddle 中运行时表单是空白的,但是在 chrome 中运行时问题仍然存在 这里似乎有一个不错的解决方法***.com/questions/15738259/disabling-chrome-autofill【参考方案2】:

Chrome 会用我的 XAMPP-phpmyadmin 用户名和密码填充这两个字段,并将它们突出显示为黄色。我怎样才能完全删除它,所以它们是空白的。 @Charley Baker

这个只读修复对我有用:

修复浏览器自动填充:只读并在焦点上设置可写(在鼠标单击和通过字段切换时)

 <input type="password" readonly  
     onfocus="$(this).removeAttr('readonly');"/>

顺便说一下,关于 Chrome 和 Safari 自动填充行为的更多信息

有时即使 autocomplete=off 也不会阻止将凭据填写到错误的字段中,但不会阻止用户或昵称字段。我猜,Chrome 和 Safari 会寻找密码字段来插入您保存的凭据。然后它username 自动填充到最近的 textlike-input 字段中,该字段出现在 DOM 中的密码字段之前(只是由于观察而猜测)。由于浏览器是最后一个实例,您无法直接控制它,但上面的只读技巧修复了它。 :-)

【讨论】:

【参考方案3】:

最新版本的 chrome

<input type="password" name="whatever" autocomplete="new-password" />

旧版本

<input type="password" name="whatever" autocomplete="false" />

<input type="password" name="whatever" autocomplete="off" />

【讨论】:

以上是关于删除 HTML 表单的 Chrome 自动填充功能的主要内容,如果未能解决你的问题,请参考以下文章

哪个高手能说一下chrome的“表单填充”有啥用

如何防止 HTML 表单上的浏览器自动填充功能?

Chrome浏览器无法自动填充表单

有没有办法为角度表单字段禁用 chrome 自动填充选项

停用Chrome建议的自动填充功能

如何防止 chrome 自动填充表单中的每个字段?