J'ai un client qui voulait que son interface utilisateur affiche des noms de champs dans un formulaire (le champ de nom d'utilisateur dit "nom d'utilisateur", le champ de mot de passe dit "mot de passe", etc.). Puisque le formulaire utilise un mot de passe de type <input>
(qui affiche normalement des points), j'ai dû simuler le remplissage de données dans les champs en les superposant avec des divs qui contenaient le verbiage.Quand le remplissage automatique de Chrome dans une page Web est-il effectué?
Pour reconnaître autofill, j'ai écrit du Javascript qui vérifie si le champ est rempli et agit en conséquence (soit en masquant soit en affichant le verbiage). Pour autant que je sache, Chrome est le seul navigateur qui se fout. Il ne semble pas se soucier s'il y a des données de remplissage automatique ou non, et le verbiage superpose toujours les données de remplissage automatique (ostensiblement parce que la fonctionnalité hide
n'est pas déclenchée).
Ma longue question est: Quand est-ce que Chrome remplit automatiquement les données dans le processus de rendu? Est-ce que ça attend que Javascript soit fini? Est-il possible pour moi de vérifier si les données de remplissage automatique occupent un champ dans Chrome?
Si vous mettez un 'setTimeout' long sur votre fonction de masquage de verbiage, est-il correctement traité sur Chrome? C'est-à-dire, essayez d'enlever l'ordre de chargement de document de l'équation pour déterminer si c'est vraiment ce qui jette le chrome outre de. – jball