【问题标题】:Safari's autocomplete is breaking a form on my siteSafari 的自动完成功能破坏了我网站上的表单
【发布时间】:2016-06-28 15:44:36
【问题描述】:

我的网站上有一个表单,其中恰好有一个电子邮件字段,后跟一个密码字段。 Safari 正在填写它们,就好像它们是一个登录表单,但它们不是。先前在电子邮件输入中设置的值被删除,这是一个问题,并且 Safari 输入的用户名不是有效的电子邮件,这会破坏表单。

我尝试添加autocomplete="off",但 Safari 只是忽略它。我怎样才能说服它这不是一个登录屏幕,并请停止干预?

编辑:我只是尝试移动表单的顺序以帮助 Safari 意识到它不是登录表单,并且它仍然填写它,即使密码字段位于最顶部,电子邮件字段位于最底部(向下 5 个字段)。

【问题讨论】:

    标签: html forms browser autocomplete


    【解决方案1】:

    此解决方案适用于在 Safari 中禁用自动完成功能:

    如果您想在所有表单上禁用密码自动完成功能,请使用:

    ::-webkit-credentials-auto-fill-button {
         visibility: hidden;
    }
    

    如果您只想禁用一种表单,请使用:

    .put_your_class_here::-webkit-credentials-auto-fill-button {
         visibility: hidden;
    }
    

    【讨论】:

      【解决方案2】:

      您可以访问this 帖子,因为它还包含有关在表单上禁用自动完成功能的信息。尝试在多个浏览器上运行相同的 HTML 页面,因为它可能是 Safari 及其设置导致这种情况。此外,Mozilla 有一篇关于自动完成的有用帖子,值得一看 here。如果这仍然没有帮助,请发布一些 cmets。

      【讨论】:

      • 在 Chrome 和 Firefox 上试过,不过它只在 Safari 上发生。您发布的链接建议使用 autocomplete 属性,该属性不再适用于任何主流浏览器。
      • 不幸的是,将autocomplete 属性设置为随机字符串也不起作用。
      • 另外,您是否尝试过将 autocomplete="off" 放在表单中的每个单独的输入标签上?
      • 您的表单在 HTML 中的实际外观如何?
      • 我刚刚发现 Safari 会在表单中搜索电子邮件和密码等词并启用自动完成功能。如果有不同的名称,例如代码或地址,Safari 将不会应用自动完成功能。
      猜你喜欢
      • 1970-01-01
      • 2023-02-04
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      相关资源
      最近更新 更多