Как инициировать автозаливку сохраненного пароля в браузерах?

Мне записали веб-приложение в чистом JavaScript (не предварительно генерировал HTML за исключением документа, который загружает все файлы JS).

Это приложение содержит форму входа в систему, которая создается динамично, когда document.ready событие события инициировано. Я обманываю браузер в отображение, "Помнят пароль?" диалоговое окно путем регистрации формы входа в систему в скрытый iframe перед входом в систему использования ajax (в Firefox пароль появляется в списке сохраненного пароля, таким образом, эта часть, очевидно, работает), но сохраненные пароли никогда не заполняются после экрана входа в систему, загружается снова в более позднее время. То же самое происходит в Firefox и Safari.

Есть ли что-то, что я могу сделать или некоторая функция, которую я могу вызвать для инициирования автозаливки?

ОБНОВЛЕНИЕ: автозаполните работы в Safari на начальной загрузке страницы, но не, когда пользователь выходит из системы, и форма входа в систему воссоздается без перезагрузки страницы. В Firefox это никогда не работает.

10
задан Aleksander Kmetec 12 April 2010 в 13:18
поделиться

3 ответа

Помимо обертывания элементов формы в элемент form , убедитесь, что все входные данные (и, возможно, даже форма) имеют уникальное имя и id атрибуты, которые не меняются. Имя, вероятно, должно быть описательным, например пароль для пароля и т. Д., Не совсем уверен, в какой степени браузеры используют эту информацию, но функции «автозаполнения» / «волшебной палочки» могут работать лучше, если вы используете стандартный имя.

И, конечно же, вы должны убедиться, что не устанавливаете для атрибутов autosuggest / autofill значение false (фреймворк js может делать это по какой-то причине, если вы их используете).

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

Самое простое решение (если статические формы работают) - принудительно перезагрузить страницу при выходе из системы (вы, вероятно, все равно захотите сбросить "состояние" запущенного javascript после выхода из системы, так что обновление действительно хорошее дело)

4
ответ дан 4 December 2019 в 03:38
поделиться

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

<form>...</form>

тегов.

1
ответ дан 4 December 2019 в 03:38
поделиться

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

Чтобы заставить "пароль" отображаться в видимой форме, я думаю, вы можете измерить длину пароля в форме iframe, а затем заполнить поле пароля видимой формы тем же числом *.

0
ответ дан 4 December 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: