Отключить автозаполнение для Chrome 66 - PullRequest
0 голосов
/ 27 апреля 2018

С chrome 66 я не смог найти способ отключить автозаполнение при вводе текста, как раньше. Я пробовал autocomplete="off" и autocomplete="new-password", которые работали до Chrome 63, я думаю, но больше нет.

Есть ли новый способ отключить эту функцию?

Спасибо!

Ответы [ 4 ]

0 голосов
/ 30 мая 2018

Я решил использовать небольшой jQuery (но вы можете использовать простой javascript).

Проблема в том, что chrome просматривает имя и / или id ваших полей. Единственное решение, которое я нашел, - это удалить эти атрибуты, добавить атрибут data-name с реальным именем поля и повторно присоединить атрибут name после отправки с использованием javascript.

Есть пример

<form onsubmit="return formSubmit(this);" autocomplete="off">
    <input type="text" data-name="dateStart" class="form-control" />
</form>


<script>
function formSubmit(form) {
  console.log(form);
  $(form).find('.form-control').each(function(){
    $(this).attr('name', $(this).data('name'));
  });
  console.log(form);
  query = jQuery(form).serialize();
  window.open("/YOUR_URL/?" + query, "_self");
  return false;
};
</script>
0 голосов
/ 21 мая 2018

Что работает для меня, так это использование ввода без пароля, который притворяется, что имеет маску пароля - борьба поставщиков браузеров за отключение автозаполнения в полях действительного пароля, вероятно, приведет к разочарованию.

Вот песочница: https://codesandbox.io/s/yp3pyl4rkv

Аналогичный подход с большим количеством функций: https://github.com/karaggeorge/react-better-password

0 голосов
/ 24 мая 2018

Просто наткнулся на это - Google смотрит на поля id или name, чтобы определить, сохранились ли данные для этого поля. В качестве автора сайта используйте случайно сгенерированное имя / идентификатор и / или добавьте autocomplete=<random string> в поле.

Посмотрите на эту игровую площадку: https://jsfiddle.net/mfdc22pz/1/

Кстати, Chrome Canary (68) исправляет эту ошибку!

Вкратце: Добавьте случайные теги, такие как: name="foo_90553-4"

0 голосов
/ 03 мая 2018

У меня такая же проблема. Обходите с помощью вставки невидимого ввода, сделайте его первым вводом на странице.

[HTML] ... ... [CSS] ... .invisible_input {height: 0.1px; позиция: абсолютная; margin-top: -500px;} ...

Но жду ответа от разработчика Chrome: / Я надеюсь, что это поможет вам! enter image description here

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