Senha de memorização e heurística de autocomplete no Chrome

6

Quais são as heurísticas do Chrome para decidir salvar os dados do formulário de login e preenchê-los automaticamente na próxima visita?

Se o Chrome não estiver salvando as credenciais em um formulário específico, quais poderiam ser as razões? Eu sei disso:

Experimentalmente, isso não é suficiente: eu tenho uma página de login (privada, desculpe, mas a essência do código está abaixo) que atende aos dois critérios e onde as credenciais não são preenchidas automaticamente.

Aqui está o meu problema específico. Eu o resolvi de outra forma (instalando Autopreencher e fazendo com que ele insira minhas credenciais em o formulário), mas eu ainda gostaria de saber por que o Chrome não está oferecendo salvar as credenciais.

Um site (não escrito por mim e não publicamente acessível) requer um nome de usuário e senha. Ele usa uma forma bastante padronizada (para os meus olhos desinformados), que se parece com isso (omiti muitos aninhados <div> e outros, e os atributos e funções mostrados aqui como fooXXX foram renomeados por mim).

<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>

Eu quero que meu navegador lembre minhas credenciais para este site. O recurso está habilitado no navegador, mas há algo de peculiar nesse site que faz com que o Firefox e o Chrome não ofereçam lembrar o nome e a senha.

Eu escrevi um userscript (script Greasemonkey no Firefox, extensão descompactada no Chrome) para alterar autocomplete="off" para autocomplete="on" :

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

No Firefox, isso tem o efeito desejado: o Firefox se oferece para lembrar a senha, e na próxima vez que eu visitar a página de login, minhas credenciais serão preenchidas automaticamente.

Sem essa sorte no Chrome (27.0.1453.93, Linux). Eu não sou solicitado a lembrar a senha e não recebo um histórico para o campo de nome de usuário. Confirmei que o script foi executado inspecionando os elementos input , eles mostram autocomplete="on" .

Eu tentei adicionar essas linhas ao meu userscript, mas elas não melhoram a situação.

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

Como a heurística do Chrome difere do Firefox e como faço para que ele lembre minhas credenciais?

    
por Gilles 06.06.2013 / 20:30

1 resposta

1

Use a extensão autocomplete = on .

Changes 'autocomplete=off' to 'autocomplete=on' in web pages, so your passwords will be remembered.

    
por 06.06.2013 / 20:43