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 seriam os motivos? Eu sei que:
- os campos de nome de usuário e senhadeve ter
autocomplete="on"
; - a formadeve ter
method="POST"
.
Experimentalmente, isso não é suficiente: tenho uma página de login (privada, desculpe, mas a essência do código está abaixo) que atende a ambos os critérios e onde as credenciais não são preenchidas automaticamente.
Aqui está o meu problema específico. Eu resolvi isso de outra maneira (instalandoPreenchimento automáticoe inserindo minhas credenciais no formulário), mas ainda gostaria de saber por que o Chrome não está oferecendo o salvamento das credenciais.
Um site (não escrito por mim e não acessível publicamente) requer nome de usuário e senha. Ele usa um formulário de aparência bastante padrão (para meus olhos desinformados), que se parece com isto (omiti muitos aninhados <div>
e outros enfeites, e 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>
Quero que meu navegador lembre minhas credenciais deste site. O recurso está habilitado no navegador, mas há algo peculiar neste site que faz com que tanto o Firefox quanto o Chrome não se ofereçam para lembrar o nome e a senha.
Eu escrevi um userscript (script Greasemonkey no Firefox, extensão descompactada no Chrome) para mudar 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 visitar a página de login, minhas credenciais serão preenchidas automaticamente.
Não tive essa sorte no Chrome (27.0.1453.93, Linux). Não sou solicitado a lembrar a senha e não recebo um histórico do campo de nome de usuário. Confirmei que o script é executado inspecionando os input
elementos, eles mostram autocomplete="on"
.
Tentei adicionar essas linhas ao meu script de usuário, 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 da do Firefox e como faço para lembrar minhas credenciais?
Responder1
Use opreenchimento automático = ativadoextensão.
Altera 'autocomplete=off' para 'autocomplete=on' nas páginas da web, para que suas senhas sejam lembradas.
Responder2
Encontrei um sinalizador que parece resolver o problema de preenchimento automático ao procurar novos sinalizadores. Em chrome://flags, há um sinalizador chamado "Ativar detecção de login". Mude para "Desativado" e isso deverá (pelo menos até que o experimento seja removido) resolver seu problema. (No Chrome para iOS, esse sinalizador não existe! Então, nessa plataforma, você está preso!) E quanto à respostao queO Google usa, aposto que ele usa intents como os da Omnibox, onde você pode ver o histórico, mas não tenho certeza disso! Atenciosamente, Mac