6

Какова эвристика Chrome, чтобы решить сохранить данные формы входа и автозаполнить их при следующем посещении?

Если Chrome не сохраняет учетные данные в определенной форме, каковы могут быть причины? Я знаю это:

Экспериментально этого недостаточно: у меня есть страница входа (частная, извините, но суть кода ниже), которая соответствует обоим критериям и где учетные данные не заполняются автоматически.


Вот моя конкретная проблема. Я решил ее по-другому (установив автозаполнение и введя его в свои учетные данные в форме), но я все же хотел бы знать, почему Chrome не предлагает сохранять учетные данные.

Веб-сайт (не написанный мной и не общедоступный) требует имя пользователя и пароль. Он использует довольно стандартную (на мой взгляд, неинформированную) форму, которая выглядит следующим образом (я пропустил много вложенных <div> и еще много чего, а атрибуты и функции, показанные здесь как fooXXX были переименованы мной).

<form name="aspnetForm" method="post" action="default.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
  <table>
    <tr>
      <td>Username:</td>
      <td><input name="foo$name" type="text" id="foo_name" tabindex="1" autocomplete="off" onkeyup="fooFunction()" style="width:175px;" /></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><input name="foo@pass" type="password" id="foo_pass" tabindex="2" value="" autocomplete="off" style="width:175px;" /></td>
    </tr>
  </table>
</form>

Я хочу, чтобы мой браузер запомнил мои учетные данные для этого сайта. Эта функция включена в браузере, но в этом сайте есть что-то своеобразное, из-за чего Firefox и Chrome не предлагают запоминать имя и пароль.

Я написал скрипт пользователя (скрипт Greasemonkey в Firefox, распакованное расширение в Chrome), чтобы изменить autocomplete="off" на autocomplete="on":

document.querySelector("#foo_user").setAttribute("autocomplete", "on");
document.querySelector("#foo_pass").setAttribute("autocomplete", "on");

В Firefox это дает желаемый эффект: Firefox предлагает запомнить пароль, и в следующий раз, когда я посещаю страницу входа, мои учетные данные автоматически заполняются.

Нет такой удачи в Chrome (27.0.1453.93, Linux). Мне не предлагают вспомнить пароль и не получить историю для поля имени пользователя. Я подтвердил, что скрипт выполняется путем проверки input элементов, они показывают autocomplete="on" .

Я попытался добавить эти строки в свой пользовательский скрипт, но они не улучшают ситуацию.

document.querySelector("#foo_user").removeAttribute("onkeyup");
document.querySelector("#foo_pass").removeAttribute("value");

Чем эвристика Chrome отличается от Firefox и как заставить ее запомнить мои учетные данные?

1 ответ1

1

Используйте автозаполнение = на расширение.

Изменяет «autocomplete = off» на «autocomplete = on» на веб-страницах, поэтому ваши пароли будут запомнены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .