Как браузеры выбирают, какое поле сохраняется как «имя пользователя»? - PullRequest
1 голос
/ 28 сентября 2010

Это может быть очень просто, но мне интересно, как браузеры, которые предлагают функцию «запомнить ваш пароль», выбирают «имя пользователя» для сохранения?

Я работаю с некоторым asp.net, которыйвыплевывая обычные непонятные значения id / name, и браузер предлагает запомнить поле 'postcode' формы регистрации в качестве имени пользователя, а не адрес электронной почты, который мы хотели бы использовать.

Ищет ли браузердля определенного имени / имени поля 'username'?
Если нет 'username', то что он ищет дальше?
Можем ли мы указать, какое поле использовать?

1 Ответ

4 голосов
/ 03 октября 2010

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

Насколько я могу вам сказать, браузеры просто ищут первое поле пароля и затем предполагают, что в поле перед ним стоит имя пользователя. Итак, в вашем случае вам нужно убедиться, что поле пароля строго следует за именем пользователя.

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

...