【问题标题】:Preventing Browser Text Input Suggestions 2021 chrome version 88.0.4324.190防止浏览器文本输入建议 2021 chrome 版本 88.0.4324.190
【发布时间】:2021-06-01 17:07:11
【问题描述】:

如何防止来自浏览器 cookie、autocomplete="off" 等的浏览器文本输入建议不起作用.. Chrome 版本:2021 chrome 版本 88.0.4324.190

readonly 用于自动填充其正常工作,但 autosuggestion 不是。

 <input type="email" class="form-control" id="email" name="email" placeholder="Enter Email" readonly onfocus="this.removeAttribute('readonly');" style="background-color: white;" autocomplete="off">   
<input type="password" class="form-control" id="Password" name="password" minlength="6" placeholder="Enter Password">

【问题讨论】:

  • 有人帮忙解决这个问题
  • 能给我们一些代码吗?
  • @codeRdevelopR 确定
  • 在 88.0.4324.190 版本中这对我来说真的很有效

标签: html autosuggest


【解决方案1】:

你想要的在这里

type="password" 更改为 type="text" 并在您的输入中使用 -webkit-text-security: disc !important;

<input type="text" class="form-control" id="Password" name="password" minlength="6" placeholder="Enter Password" style="-webkit-text-security: disc !important;">

【讨论】:

  • 乐于助人:)
  • 它也适用于 mozila firefox 浏览器最新版本
【解决方案2】:

在 Chrome 中唯一仍然有效的是创建与字段无关的随机名称。喜欢 autocomplete="new-password" 到密码字段名称。
似乎是错误的,但这是一种解决方法。

因此,对于您名为电子邮件的字段,请尝试输入autocomplete="new-email"

即使在下面的 SO 中工作,autocomplete="off" 仍然有问题:
Disabling Chrome Autofill

还要注意autocomplete="no" 似乎可以工作,但autocomplete="off" 由于历史原因不会。 autocomplete="no" 你是在告诉浏览器这个字段应该作为一个名为"no" 的字段自动完成。如果您生成唯一的随机自动完成名称,则会禁用自动完成。

您需要记住,这是密码管理器的一项功能。
Mozilla 在这里正确说明了这一点:
Preventing autofilling with autocomplete="new-password"

以及为什么并非总是可以预防:
Browser compatibility

注意:在大多数现代浏览器中,将自动完成设置为“关闭”不会阻止密码管理器询问用户是否要保存用户名和密码信息,或者自动在站点的登录表单中填写这些值。 See the autocomplete attribute and login fields.

解决方案 #1:

如您所见,自动建议显示From this website
作为解决方法,您需要将字段名从name="email" 更改为其他名称,例如name="user-email"。 并处理服务器逻辑内部的变化。

再次在您的服务器逻辑中,每次显示页面时生成一个随机名称,例如 UUID autocomplete="c821c4f0-7be8-11eb-9439-0242ac130002"

解决方案 #2:

将输入类型type="email" 替换为type="text"

html:

<input type="text" class="form-control" id="user-email" name="user-email" placeholder="Enter Email" readonly onfocus="this.removeAttribute('readonly');" autocomplete="off" />

javascript:

window.onload = function () {
    init();
}

function init() {
    let x = document.getElementById("user-email");
    if (x) x.setAttribute("type", "email");
}

解决方案 #3:

在真实字段前添加隐藏字段:
HTML - Disable Password Manager

PS:别忘了把autocomplete="off"放在属于哪个字段的表单上

【讨论】:

  • 我想禁用不自动填充的自动提示,自动填充已经使用只读属性完成。
  • 检查编辑的问题你不明白我的问题,我的问题不是自动填充我的问题是自动建议浏览器 cookie,我想通过代码阻止那些..
  • 我尝试了所有方法将字段名从 name="email" 更改为其他名称,如 name="new-email" 或 name="email1" 等...我应用我的所有逻辑但不能修复了这个自动建议问题,它也在 Firefox 浏览器中。
  • 添加了最后的手段
  • 它适用于更改类型的电子邮件..但我还想关闭密码字段的自动提示,我无法将此类型更改为密码文本...无论如何感谢您的度假村
猜你喜欢
  • 2010-10-21
  • 2020-03-30
  • 2020-12-14
  • 2016-10-03
  • 2011-01-27
  • 2017-05-12
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多