Кажется, это ошибка в Chrome. Когда Chrome автоматически заполняет пароль при начальной загрузке страницы (но не обновляется), значение появляется в поле формы на экране, но запрос initTextEvent
в Javascript возвращает пустую строку. Если вы зависите от этого значения в Javascript, это не даст вам этого сделать. Как только пользователь выполняет любое другое действие на странице, например, щелкнув в любом месте страницы, значение внезапно становится видимым для Javascript.
Я на самом деле не уверен на 100%, если это ошибка, или если есть причина безопасности для этого, например, предотвращение скрытого фрейма от кражи вашего пароля, обманом браузера и его заполнением.
Обходной путь, который мы использовали, заключается в обнаружении изменения цвета фона, которое делает Chrome, в поля, которые он автоматически заполнил. Chrome окрашивает фон автозаполненных полей желтым цветом, и это изменение всегда видно на Javascript, даже если это значение отсутствует. Обнаружение этого в Javascript позволяет нам знать, что поле было автоматически заполнено значением, хотя мы видим, что в Javascript значение пустое. В нашем случае у нас есть форма входа в систему, в которой кнопка отправки не включена, пока вы не заполните что-то в поле пароля, и обнаружение значения или фонового цвета автозаполнения достаточно, чтобы определить, что что-то находится в поле , Затем мы можем включить кнопку отправки, и нажатие кнопки (или нажатие на ввод) мгновенно делает значение поля пароля видимым для Javascript, потому что взаимодействие со страницей устраняет проблему, поэтому мы можем нормально идти оттуда.