84 votes

L'autocomplete="off" est-il compatible avec tous les navigateurs modernes ?

On vient de me demander d'empêcher les navigateurs d'enregistrer les données saisies dans des champs de formulaire spécifiques. Cela fait des années que je n'ai pas fait de développement web, et c'est une capacité relativement nouvelle. J'ai pu trouver la propriété autocomplete="off" dans un champ de formulaire, mais je n'arrive pas à trouver de documentation indiquant quels navigateurs la prennent en charge. Quelqu'un peut-il m'indiquer la direction à suivre pour trouver un tableau des attributs de formulaire et de la compatibilité avec les navigateurs ?

0 votes

0 votes

2 votes

@camigreenall - il ne s'agit pas d'un doublon ; la question à laquelle vous avez fait référence fournit une réponse sur la façon de procéder ; ce que j'ai demandé, c'est de la documentation sur la compatibilité des navigateurs.

1voto

SarwarCSE Points 445

Certaines solutions ne fonctionnent pas dans les navigateurs modernes.

Un autre lien de solution est donné ici. qui fonctionne dans tous les navigateurs modernes.

Input type=password, ne pas laisser le navigateur se souvenir du mot de passe.

Vous pouvez utiliser autocomplete="off" dans cette solution donnée

0voto

Nitin Ram Points 102

En fait, les champs "nom d'utilisateur" et "mot de passe" ne réagissent pas à AutoComplete=off dans tous les navigateurs les plus récents.

0voto

thisisashwani Points 892

td;dr : Pour vérifier la compatibilité entre les navigateurs, voici une doc officielle MDN sur la désactivation de l'autocomplétion avec le lien pour la compatibilité -. https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion


Une réponse un peu plus longue : Votre problème est dû à la fonction de remplissage automatique de Chrome, et voici la position de Chrome à ce sujet dans ce lien de bogue -. https://bugs.chromium.org/p/chromium/issues/detail?id=468153#c164

Pour faire simple, il y a deux cas de figure -

  • [CAS 1] : Votre input est autre que password . Dans ce cas, la solution est simple, et comporte trois étapes.

    • Ajouter name de l'attribut input
    • name ne doit pas commencer par une valeur comme l'adresse électronique ou le nom d'utilisateur, sinon Chrome affiche toujours la liste déroulante. Par exemple, name="emailToDelete" affiche la liste déroulante, mais name="to-delete-email" ne le fait pas. Il en va de même pour autocomplete attribut.
    • Ajouter autocomplete et ajoutez une valeur significative pour vous, par exemple new-field-name

    Il ressemblera à ceci, et vous ne verrez plus jamais le remplissage automatique (et la valeur que vous entrez ne sera pas mise en cache) pour cette entrée pour le reste de votre vie.

    <input type="text/number/something-other-than-password" name="x-field-1" autocomplete="new-field-1" />
  • [CAS 2] : input type es password

    • Dans ce cas, quels que soient vos essais, Chrome vous montrera la liste déroulante pour gérer les mots de passe / utiliser un mot de passe existant et affichera l'invite pour mettre à jour le mot de passe mis en cache. Firefox fera également quelque chose de similaire, et il en sera de même avec tous les autres principaux navigateurs. Consultez le lien vers la documentation MDN que j'ai indiqué tout en haut.
    • Dans ce cas, si vous voulez vraiment empêcher l'utilisateur de voir la liste déroulante pour gérer les mots de passe ou l'invite pour enregistrer les informations d'identification, vous devrez jouer avec JS pour changer le type d'entrée, comme mentionné dans les autres questions connexes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X