Como a maioria das autocomplete
sugestões, incluindo a resposta aceita, não funcionam em navegadores web de hoje (gerenciadores de senha ou seja, navegador web ignorar autocomplete
), uma solução mais romance é a troca entre password
e text
tipos e fazer a cor de fundo combinar com a cor do texto quando o campo é um campo de texto sem formatação, que continua a ocultar a senha enquanto é um campo de senha real quando o usuário (ou um programa como o KeePass) está inserindo uma senha. Os navegadores não pedem para salvar senhas armazenadas em campos de texto sem formatação.
A vantagem dessa abordagem é que ela permite aprimoramento progressivo e, portanto, não requer Javascript para que um campo funcione como um campo de senha normal (você também pode começar com um campo de texto sem formatação e aplicar a mesma abordagem, mas isso não é realmente HIPAA Compatível com PHI / PII). Essa abordagem também não depende de formulários / campos ocultos que podem não ser necessariamente enviados para o servidor (porque estão ocultos) e alguns desses truques também não funcionam em vários navegadores modernos.
plugin jQuery:
https://github.com/cubiclesoft/php-flexforms-modules/blob/master/password-manager/jquery.stoppasswordmanager.js
Código fonte relevante do link acima:
(function($) {
$.fn.StopPasswordManager = function() {
return this.each(function() {
var $this = $(this);
$this.addClass('no-print');
$this.attr('data-background-color', $this.css('background-color'));
$this.css('background-color', $this.css('color'));
$this.attr('type', 'text');
$this.attr('autocomplete', 'off');
$this.focus(function() {
$this.attr('type', 'password');
$this.css('background-color', $this.attr('data-background-color'));
});
$this.blur(function() {
$this.css('background-color', $this.css('color'));
$this.attr('type', 'text');
$this[0].selectionStart = $this[0].selectionEnd;
});
$this.on('keydown', function(e) {
if (e.keyCode == 13)
{
$this.css('background-color', $this.css('color'));
$this.attr('type', 'text');
$this[0].selectionStart = $this[0].selectionEnd;
}
});
});
}
}(jQuery));
Demo:
https://barebonescms.com/demos/admin_pack/admin.php
Clique em "Adicionar entrada" no menu e role para a parte inferior da página para "Módulo: Parar o gerenciador de senhas".
Isenção de responsabilidade: Embora essa abordagem funcione para pessoas com visão, pode haver problemas com o software do leitor de tela. Por exemplo, um leitor de tela pode ler a senha do usuário em voz alta porque vê um campo de texto sem formatação. Também pode haver outras consequências imprevistas do uso do plug-in acima. A alteração da funcionalidade interna do navegador da Web deve ser feita com moderação, testando uma ampla variedade de condições e casos extremos.