автозаполнение пользователя / пароля в Firefox - PullRequest
0 голосов
/ 29 ноября 2008

Я создал форму отправки логина в HTML, но по какой-то причине автозаполнение имени / пароля не работает так, как я ожидаю в Firefox.

Вот что происходит в Firefox:

  • Я даю имя пользователя и пароль и нажимаю кнопку входа
  • Firefox спрашивает меня, хочу ли я вспомнить пароль. Я нажимаю «запомнить» и логин работает. (Я убедился, что удалил все запомненные пароли перед запуском этого теста)
  • Я выхожу и возвращаюсь на страницу входа. Я ожидал бы, что поле имени пользователя и пароля будет предварительно заполнено, но это не так (если FF сохранил только одну комбинацию user / pw для определенного URL, чем он автоматически заполняет эту комбинацию в вашей форме)

Обратите внимание, что я не (не хочу) использовать куки. Я проверил в диспетчере паролей FF, что имя пользователя и пароль действительно были сохранены (они были)

Вот код этой страницы:

<form name="login_form" id="login_form" autocomplete="ON" onsubmit="javascript:xajax_action_login(document.getElementById('user_name').value, document.getElementById('password').value); return false;">
    <div class="login_line">
        <div class="login_line_left">name</div>
        <div id="user_name_id" class="login_line_right"><input size="16" maxlength="16" name="user_name" id="user_name" type="text"></div>
    </div> <!-- login_line -->
    <div class="login_line">
        <div class="login_line_left">password</div>
        <div id="password_id" class="login_line_right"><input size="16" maxlength="16" name="password" id="password" type="password"></div>
    </div> <!-- login_line -->
    <div class="login_line">
        <div class="login_line_left"> </div>
        <div class="login_line_right"><input class="button" value="login" type="submit">
    </div> <!-- login_line -->
</form> <!-- login_form -->

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

Автозаполнение работает правильно, например, с Gmail. Каждый раз, когда я захожу на страницу входа в Gmail, поля электронной почты и пароль заполняются правильно. Я не использую флажок «запомнить меня на этом компьютере», поэтому файлы cookie не используются.

Буду очень признателен за вашу помощь. Jasper

Обновление
Автозаполнение включено в Firefox. Я хочу оставаться совместимым с IE.

Ответы [ 4 ]

1 голос
/ 24 декабря 2008

Я узнал, почему это не работает. Я использую ajax, чтобы вставить пример HTML в контейнер div. Очевидно, Firefox очень чувствителен к этому, потому что (как упоминалось ранее) мой код работает в IE.

1 голос
/ 29 ноября 2008

Являются ли URL-адреса статическими или динамическими, автозаполнение не работает с динамическими URL-адресами, скажем ваш URL:

http://www.domain.come/login.php?someDynamicVarLikeAdateOrSo=12312

Тогда сохранение пароля не будет работать, вам следует использовать modrewrite или что-то еще, чтобы отобразить URL как статический для браузера

0 голосов
/ 01 декабря 2008

Похоже, у вас есть autocomplete="ON" в теге <form>. Попробуйте изменить это значение на autocomplete="on", то есть удалите заглавную букву «ON».

0 голосов
/ 29 ноября 2008

Сначала проверьте, включено ли автозаполнение в Firefox.
Затем попробуйте установить для атрибута type текстового поля значение autocomplete. Подробности приведены здесь

...