После отправки формы в браузере браузер обычно выдает запрос «Нужно ли запомнить пароль?» После подтверждения определенные поля ввода будут автоматически заполнены при следующей отправке формы.
Однако в некоторых сценариях (например, на страницах вывода и пополнения счета) автоматическое заполнение паролей очень небезопасно. Необходимы некоторые средства для предотвращения автозаполнения браузера.
В процессе решения я столкнулся с некоторыми подводными камнями. Вот несколько замечаний:
Поскольку функция автозаполнения реализована самим браузером, атрибут autocomplete не прописан в спецификации W3C. Многие браузеры просто игнорируют этот атрибут. Автозаполнение невозможно отключить.
Естественно подумать о способе использования js для установки пустого входного значения при загрузке страницы, но автозаполнение браузера фактически заполняется после выполнения js. . . После использования js для установки пустого значения ввода браузер автоматически заполнил входные данные, что не могло решить проблему.
Метод, широко распространенный в Интернете. Этот метод возможен в большинстве версий браузеров, но не работает в некоторых более поздних версиях браузеров и Safari. Некоторые методы, представленные позже, основаны на усовершенствованиях этого метода.
<!-- Дополнительный ввод --> <input type="password" style="display:none"/> <!-- Исходный ввод --> <input type="пароль"/>
Этот метод решает проблему автоматического заполнения в Safari по сравнению с вышеописанным. Но это не работает в некоторых более поздних версиях Chrome. (После тестирования Chrome 46.0 работает, Chrome 47.0 не работает)
<!-- Дополнительная форма и ввод --> <form style="display:none"> <input type="пароль"/> </форма> <!-- Исходный ввод --> <input type="пароль"/>
Это решение объединяет два вышеуказанных метода и окончательно решает проблему автоматического заполнения под Chrome 47.0.
<!--Дополнительный контент--> <form style="display:none"> <input type="пароль"/> </форма> <input type="password" style="width:0;height:0;float:left;visibility:hidden"/> <!-- Исходный ввод --> <input type="пароль"/>
В этом методе следует отметить, что для ввода того же поколения, что и целевой ввод, нельзя установить значение display:none. Если он установлен, он будет автоматически заполнен в Chrome 47.0, поэтому вы можете использовать только другие средства. чтобы скрыть этот ввод.
После использования последнего решения оно хорошо работает в различных браузерах, автоматического заполнения пока не обнаружено. Конечно же, проблемы совместимости интерфейса всегда были отвратительной вещью. .
На этом завершается статья о том, как HTML решает проблему запоминания полей ввода пароля в браузерах. Для получения дополнительной информации о запоминании полей ввода пароля в HTML выполните поиск по предыдущим статьям на сайте downcodes.com или продолжите просмотр соответствующих статей ниже. Надеюсь, вы поддержите эту статью. downcodes.com — больше в будущем!