Autocomplete = "off" кросс-браузер - PullRequest
0 голосов
/ 26 октября 2018

У меня есть веб-сайт, на котором мне нужны некоторые функции:

  • Нет автозаполнения, предложений или сохранения на моем сайте:

    • Никакие поля формы никогда не должны заполняться автоматически или иметь выпадающие предложения, основанные на ранее введенных данных.
    • Данные (записи) не должны сохраняться / кэшироваться в браузере
  • Предотвращение "проливания" на другие сайты:

    • При посещении других веб-сайтов данные с моего сайта не должны отображаться в виде предложений в формах (ссылка 1b).

До сих пор я выполнял это, используя autocomplete = "off" во всех формах. Исходя из этой ссылки из Mozilla , первоначально это должно было привести к решению всех вышеуказанных проблем, но некоторые браузеры теперь начинают игнорировать атрибут autocomplete. В статье, упомянутой выше, говорится, что хитрость заключается в том, чтобы присвоить атрибуту недопустимое значение, например, autcomplete = "nope"

Мои вопросы:

В1: Будет ли решение использования autocomplete = "nope" также предотвращать кэширование / сохранение данных?

Q2: Существуют ли лучшие решения, отвечающие моим критериям лучшей кросс-браузерной совместимости? (Я искал, но не нашел ничего, что давало бы мне четкие ответы).

1 Ответ

0 голосов
/ 26 октября 2018

Лучшее решение, как вы упомянули, - указывать недопустимое значение, как показано здесь .

В некоторых случаях браузер будет продолжать предлагать значения автозаполнения, даже если атрибут autocompleteвыключен.Такое неожиданное поведение может быть довольно загадочным для разработчиков.Хитрость для принудительного принудительного применения неавтоматического завершения состоит в том, чтобы присвоить атрибуту недопустимое значение, например:

autocomplete="nope"

Поскольку это значение не является допустимым для атрибута автозаполнения,Браузер не может сопоставить его и прекращает попытки автозаполнения поля.

Это не повлияет на ваши данные или кэш, и в зависимости от того, в какую форму встроена ваша форма, данные будут толькобыть сохраненным с помощью действия form или function на inputs.

В качестве альтернативы я обнаружил, что autocomplete= 'new-password' на входе является надежным, однако приведенный выше пример для оболочки formтребует гораздо меньше работы, чем добавление к каждому input

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...