Как я могу предотвратить автозаполнение Firefox?

StackOverflow https://stackoverflow.com/questions/682439

  •  22-08-2019
  •  | 
  •  

Вопрос

На нашем сайте есть несколько разделов, где пользователю необходимо ввести некоторую информацию, и автозаполнение Firefox запускается при загрузке страницы - в основном неправильно!

Например, есть поле "Номер факса", которое для некоторых пользователей Firefox продолжает заполнять их адресом электронной почты.Если они этого не видят и отправляются отправлять форму, валидаторы жалуются им, что это недопустимый числовой формат.

Это действительно беспокоит наших продавцов, потому что, когда они заходят на страницу клиента, они иногда видят, что она заполнена их личной информацией.

Есть ли какой-нибудь способ запретить Firefox делать это?

Это было полезно?

Решение

Добавьте autocomplete="off" в свой тег формы, как описано в документе Mozilla Как отключить автозаполнение формы

<form name="form1" id="form1" method="post" autocomplete="off"
  action="http://www.example.com/form.cgi">
[...]
</form>

Обязательно прочтите раздел о исключения и обходные пути хотя - браузер будет игнорировать атрибут автозаполнения, если у вас есть поле имени или адреса в форме!

Другие советы

Если вас не волнует проверка, вы можете использовать автозаполнение="выкл."

КСТАТИ вот отличная статья от самих Mozilla по поводу автозаполнения

Firefox обычно автозаполняется на основе имен полей, поэтому мне кажется, что у вас может быть какая-то глубинная путаница с тем, как называются ваши поля.

Я столкнулся с такой же проблемой в Firefox с формами, имеющими поля "имя пользователя" и "пароль".В этом случае autocomplete="off", похоже, не работает, как указано здесь: https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion (внизу страницы).

Единственный способ, который я нашел правильным, чтобы иметь en пустых полей при открытии страницы, - это очистить их в javascript.Пример кода jQuery:

setTimeout(function(){
    $('input[name="username"],input[name="password"]').val("");
}, 0);

Я знаю, что это некрасиво (особенно setTimeout, но я не мог придумать другого способа.Даже помещение этого в $(window).load(), похоже, не работает.

Если autocomplete="off" в случае сбоя формы попробуйте использовать autocomplete="off" непосредственно в поле ввода и нажмите Ctrl + F5.

Попробуйте использовать динамические входные имена.

На самом деле, с тех пор, как несколько недель назад я заметил, что Firefox начал смешивать значения автозаполнения, выпадающие списки показывают записи даже с разных сайтов.Вероятно, они что-то сломали в своих недавних сборках.Теперь некоторые личные записи могут видеть люди, просто просящие проверить почту на вашем компьютере.Желание заблокировать эту функцию теперь очень понятно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top