在 onfocus 表单字段中隐藏密码管理器自动完成功能

Posted

技术标签:

【中文标题】在 onfocus 表单字段中隐藏密码管理器自动完成功能【英文标题】:Hide password manager autocomplete in form fields onfocus 【发布时间】:2021-07-13 07:03:32 【问题描述】:

我通过密码管理器在 chrome 浏览器中保存了密码,并且我有以下 输入字段

<input type="text" placeholder="" formControlName="username" #log_name autocomplete="off">
<input type="password" placeholder="" formControlName="password" #pass autocomplete="off">

每次页面刷新浏览器都会自动填充字段

我所做的是在输入中输入 readonlyonfocus 以禁用自动填充

<input type="text" placeholder="" formControlName="username" #log_name autocomplete="off" 
readonly onfocus="if (this.hasAttribute('readonly')) this.removeAttribute('readonly');>

<input type="password" placeholder="" formControlName="password" #pass autocomplete="off" 
readonly onfocus="if (this.hasAttribute('readonly')) this.removeAttribute('readonly');>

现在自动填充会停止每次刷新,这很好。

问题

有没有办法可以隐藏密码管理自动填充字段的焦点(那个黑色的)?

【问题讨论】:

【参考方案1】:
Try adding autocomplete to the form as shown below

<form name="loginForm" autocomplete="off">
<input type="text" placeholder="" formControlName="username" #log_name autocomplete="off" 
readonly onfocus="if (this.hasAttribute('readonly')) this.removeAttribute('readonly');>

<input type="password" placeholder="" formControlName="password" #pass autocomplete="off" 
readonly onfocus="if (this.hasAttribute('readonly')) this.removeAttribute('readonly');>
</form>

【讨论】:

以上是关于在 onfocus 表单字段中隐藏密码管理器自动完成功能的主要内容,如果未能解决你的问题,请参考以下文章

对焦时自动隐藏输入字段

如何避免在 Chrome 中的表单中自动填充用户名/密码?

浏览器记住密码,对应字段有问题,如何解决?

HTML - 禁用密码管理器

在 VB.NET 的任务管理器应用程序选项卡中隐藏表单

根据另一个字段中的选择显示/隐藏 django 管理表单字段