【问题标题】:How to turn off Safari autofill in webpage source如何在网页源中关闭 Safari 自动填充功能
【发布时间】:2021-10-18 22:26:45
【问题描述】:

我有一个高级搜索表单,可以动态添加术语/行。我注意到,当您单击文本字段时,表单越大,表单越慢。有时,您单击文本字段并在中等大小的表单上等待大约 2 秒钟,然后才会显示任何键入的内容。

仅当文本字段最初为空时才会发生 - 并且仅在 Safari 中。

我发现,如果我进入 Safari 偏好设置,转到“自动填充”选项卡,然后关闭所有“自动填充网络表单”复选框,该表单是 zippy - 没有延迟。显然,Safari 正在尝试找出建议输入内容的方法,例如我的联系人卡中的信息、用户名和密码、信用卡等...

这个高级搜索表单似乎与其中任何一个都不相关(除非它跟踪重复输入的搜索词......?)。所以这是我的问题:

  1. 有没有办法告诉 Safari 不要寻找自动填充的可能性,这样我的表单在 Safari 中就不会出现这种滞后?
  2. 如果无法选择 #1,有没有办法让 Safari 的建议更有效 - 以便它可以更快速地找出没有什么可建议的?

关于#2,我的文本字段没有标签。 “标签”是在前面的选择列表中选择的值。这是一个例子:

请注意,在 1-2 秒延迟后,自动填充图标会出现在字段中:

添加隐藏标签能否让 Safari 的自动填充功能更高效?

【问题讨论】:

    标签: html safari


    【解决方案1】:

    我尝试过各种“解决方案”,但都失败了:

    • 在表单和输入元素中设置属性 autocomplete="off"
    • 在输入标签的上方和下方添加了隐藏标签
    • 添加了一个建议输入字段类型的类名
    • 试过javascript solution

    他们都没有工作。我在单击字段和能够输入文本之间仍然遇到延迟 - 用户图标仍然显示我的联系人卡片中的电话号码建议。

    我读过一个旧的,但在其他方面很有帮助的article about how to coax autofill to fill in the correct information。它没有提到我偶然发现的解决方案,但它激发了我尝试它的灵感......

    我在 django 表单类中的文本输入中添加了一个占位符属性:

        val = forms.CharField(widget=forms.TextInput(attrs={"placeholder": "search term"}))
    

    然后就做到了!现在,当我单击搜索词字段(现在以浅灰色显示“搜索词” - 这对我来说勉强可以)时,我可以立即输入文本并且不会出现自动填充图标!:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      • 2017-09-12
      • 2015-07-08
      • 2021-09-22
      • 1970-01-01
      • 2014-05-14
      相关资源
      最近更新 更多