【问题标题】:Disable Google Chrome Autocomplete / Autofill / Suggestion [duplicate]禁用谷歌浏览器自动完成/自动填充/建议[重复]
【发布时间】:2017-10-02 16:40:20
【问题描述】:

我想禁用谷歌浏览器自动完成/自动填充/使用密码建议
类似于 autocomplete="off" 的东西(这个不起作用)。

代码如下

loginpage.php

<form class="form-method" method="post">
    <span class="form-fill">
      <text>Username</text>
      <input placeholder="Username" required/>
      <text>Password</text>
      <input type="password" placeholder="Password" required/>
      <button type="submit"></button>
    </span>
</form>

anotherform.php

<form method="REQUEST" class="vp-method">
    <input type="password" maxlength="4" autocomplete="JUST STOP!"/>
    <button type="submit" placeholder="DVN Number">Validate</button>
</form>


如何在不使用 javascript 的情况下禁用此 google chrome 自动完成/建议/自动填充?

注意:我知道有重复的问题。而且这些建议都不起作用(正如我现在正在输入的那样)。

谢谢你:)

【问题讨论】:

  • 试试 jQuery disableAutoFill 插件github.com/terrylinooo/jquery.disableAutoFill
  • &lt;input type="text" name="whatever" autocomplete="off_&lt;?php echo time() ?&gt;"&gt; 这将导致 Chrome 搜索“off_{time}”的输入历史......所以它永远不会找到任何内容,基本上禁用它。

标签: html google-chrome autocomplete autofill


【解决方案1】:

Chrome 不再支持autocomplete="off"。请改用autocomplete="new-password"
Mozilla link

来自文档:

因此,许多现代浏览器不支持 autocomplete="off" 用于登录字段:

如果网站为用户名和密码输入字段设置autocomplete="off", 那么浏览器仍然会提供记住这个登录信息,如果 用户同意,下次浏览器会自动填充这些字段 用户访问该页面。这是 Firefox 中的行为(自版本 38)、谷歌浏览器 (34 起) 和 Internet Explorer (自版本 11).

如果作者想阻止密码字段的自动填充 在用户管理页面中,用户可以为其指定新密码 除了自己,autocomplete="new-password" 应该是 已指定,尽管尚未全部实施对此的支持 浏览器。

另一个解决方案是使用autocomplete="false"。以下是一些可能有帮助的其他 SO 问题的链接:

SO - Disabling Chrome Autofill

SO - Chrome Browser Ignoring AutoComplete=Off

SO - Chrome 63+ Autocomplete Bypass

【讨论】:

  • 这个老年问题终于有了一个很好的答案
  • NB 最近的 Chrome 到现在 (61) 确实尊重 autocomplete="off" 的输入,除了边缘情况(用户名和密码)。
  • 其他浏览器是否需要 autocomplete="false"?还是所有浏览器都支持?
  • 不幸的是,这个解决方案对我不起作用,至少在 Chrome 63 中是这样。“false”、“new-password”、“”等值不起作用。铬刚刚坏了。我已尝试清除所有数据和缓存,Chrome 仍在填写字段。显然,它一定有一个没有清理的秘密藏匿处。我已经联系了 Chrome 团队的一位成员,他向我指出了这篇文章。他甚至不知道。只有主流浏览器的 Firefox 有效。 Safari 对我来说也失败了。
  • 就我而言,我认为'autocomplete' 和'auto-fill' 是不同的东西。自动填充是浏览器特有的功能,可让用户存储字段的值,并在加载时预先填充字段。如果自动填充有效,那么忽略“autocomplete = off”是正常的。自动完成仅在用户开始输入时显示带有缓存值的下拉列表。
【解决方案2】:

我试图混淆浏览器,使其不知道要填写哪个输入字段,这似乎是跨平台的 - 无法在资源管理器上对其进行测试...

试试这个,或者类似的东西:

<input type="password" class="bigText login" name="hiddenFieldToStopBrowserAutofill" style = "height : 0px; width : 0px; border : 0px"/>

据我所见,它仅在您指定与表单中的另一个字段相同的类时才有效(在这种情况下,我对密码和电子邮件地址都有“bigText login”)然后使其不可见我在上面描述过。如果您尝试改用“display = none”,它将不起作用。

我还尝试了 value = ""、value = " " 等的一些变体,以阻止浏览器将字符串替换为它想要在页面上强制执行的字符串,但它不起作用...节省您的时间如果您希望有一个更清洁的选项,请尝试一下

【讨论】:

    猜你喜欢
    • 2011-06-10
    • 2013-02-10
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 2015-03-28
    • 2020-07-26
    • 2018-07-18
    • 2011-11-05
    相关资源
    最近更新 更多