Как работает автоматическое заполнение в браузере?
Как форма autofill работает в современных веб-браузерах? Каковы наиболее распространенные методы, используемые в браузерах, которые реализуют автоматическое заполнение форм?
- EDIT -
Вопрос не в автозаполнении, а в форме автозаполнения формы, который заботится не только о ранее введенных значениях, но также учитывает значение и структуру поля. Реализация Google Chrome, например, пытается проанализировать введенные поля, чтобы угадать их тип и структуру. Или, по крайней мере, это то, что я понял из приведенного выше кода.
Ответы
Ответ 1
Посмотрите этот ответ на kmote.
Выделите, что браузер смотрит в поле тег name
и дает обоснованное предположение, какие данные будут поступать туда (сопоставление регулярных выражений - это наивный наивный способ сделать это). Chrome работает, чтобы получить некоторую стандартизацию, так что это не совсем так, как удар или промах.
Ответ 2
Различные технологии и браузеры используют различные методы для расчета того, что отображаться, а также как они отображают его, но некоторые источники для проверки:
Если вы изучаете его (или просто используете) самостоятельно, я настоятельно рекомендую взглянуть на плагин.
Ответ 3
Первый элемент ответа - это просто нестандартный атрибут HTML autocomplete
, который был введен с Internet Explorer несколько лет назад.
По иронии судьбы, вы можете прочитать хорошую историю на сайте mozilla: Атрибут autocomplete и веб-документы с использованием XHTML
Ответ 4
Этот вопрос довольно старый, но у меня есть обновленный ответ для 2017!
Чтобы запустить автозаполнение, все, что вам нужно сделать, это правильно назвать.
Следующий ответ из моего первоначального ответа отсюда: fooobar.com/info/40163/...
Здесь ссылка на официальный текущий WHATWG HTML Standard для включения автозаполнения.
Google написал довольно приятное руководство для разработки веб-приложений, дружественных к мобильным устройствам. У них есть раздел о том, как назвать входы форм, чтобы легко использовать автозаполнение. Несмотря на то, что он написан для мобильных устройств, это применимо как для настольных, так и для мобильных устройств!
Как включить автозаполнение в ваших HTML-формах
Вот несколько ключевых моментов включения автозаполнения:
Как назвать теги <input>
Чтобы запустить автозаполнение, убедитесь, что вы правильно назвали атрибуты name
и autocomplete
в тегах <input>
. Это автоматически разрешит автозаполнение форм. Убедитесь, что у вас есть <label>
! Эта информация также может быть найдена здесь.
Здесь, как назвать ваши входы:
- Имя
- Используйте любой из них для
name
: name fname mname lname
- Используйте любой из них для
autocomplete
:
-
name
(для полного имени)
-
given-name
(для имени)
-
additional-name
(для среднего имени)
-
family-name
(для фамилии)
- Пример:
<input type="text" name="fname" autocomplete="given-name">
- Email
- Используйте любой из них для
name
: email
- Используйте любой из них для
autocomplete
: email
- Пример:
<input type="text" name="email" autocomplete="email">
- Адрес
- Используйте любой из них для
name
: address city region province state zip zip2 postal country
- Используйте любой из них для
autocomplete
:
- Для ввода одного адреса:
- Для двух адресных входов:
-
address-line1
-
address-line2
-
address-level1
(состояние или провинция)
-
address-level2
(город)
-
postal-code
(почтовый индекс)
-
country
- Телефон
- Используйте любой из них для
name
: phone mobile country-code area-code exchange suffix ext
- Используйте любой из них для
autocomplete
: tel
- Кредитная карта
- Используйте любой из них для
name
: ccname cardnumber cvc ccmonth ccyear exp-date card-type
- Используйте любой из них для
autocomplete
:
-
cc-name
-
cc-number
-
cc-csc
-
cc-exp-month
-
cc-exp-year
-
cc-exp
-
cc-type
- Usernames
- Используйте любой из них для
name
: username
- Используйте любой из них для
autocomplete
: username
- Пароли
- Используйте любой из них для
name
: password
- Используйте любой из них для
autocomplete
:
-
current-password
(для форм входа)
-
new-password
(для форм регистрации и изменения пароля)
Ресурсы