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.

103voto

David Thomas Points 111253

Sachez que tous les principaux navigateurs évoluent vers ignorer l'attribut pour les champs de mot de passe .

Je ne peux offrir qu'une preuve anecdotique, mais je n'ai encore jamais rencontré un navigateur qui ne respecte pas les règles de l'UE. autocomplete="off" cette expérience couvre :

  • Firefox 1.5+ (Windows et Ubuntu)
  • Opera 6+ (Windows et Ubuntu)
  • Chrome v2+ (Windows et Ubuntu)
  • Epiphany 0.8 (ish) (Ubuntu)
  • Midori (je ne me rappelle pas quelle version)
  • Safari v1+ (Windows)
  • IE 4 - 8, Windows.

Je suis conscient que les scripts de Greasemonkey, et vraisemblablement d'autres scripts d'utilisateurs, peuvent désactiver la autocomplete réglage.

J'ai trouvé quelques articles qui pourraient vous être utiles :

  1. Comment désactiver l'autocomplétion des formulaires
  2. Utilisation de l'auto-complétion dans les formulaires html

0 votes

Merci pour ces articles. Je sais qu'il existe des scripts qui peuvent désactiver le paramètre, mais on ne peut pas faire grand-chose. Si quelqu'un veut que son navigateur enregistre les informations de sa carte de crédit sur son ordinateur personnel, nous ne pouvons pas faire grand-chose pour l'en empêcher. Nous essayons vraiment d'empêcher que des données soient enregistrées sur des machines partagées.

0 votes

@EmmyS, non, c'est vrai. Il faudrait être un utilisateur assez averti pour se donner la peine d'implémenter une solution anti-auto-complétion, et quels sont les utilisateurs qui ont besoin de cette solution ? faire avec votre site sur leurs machines dépend d'eux, pas de vous. =)

0 votes

@DavidThomas - Merci pour la liste de compatibilité, je n'ai pas pu en trouver une bonne chez caniuse, w3c, ou ailleurs :) +1

37voto

Manishearth Points 2923

Les gestionnaires de mots de passe ignorent désormais le autocomplete attribut pour password dans les principaux navigateurs à partir de :

Cela devrait toujours fonctionner correctement pour désactiver autocomplete sur les champs de formulaire, mais n'affecte plus le gestionnaire de mots de passe.

0 votes

Ce n'est pas le cas. Je viens de tester. J'ai même placé des autocomplete="false" sur le champ du formulaire, à part celui qui était présent sur l'élément du formulaire lui-même. Aucun effet. Je dirais que l'autocomplétion est ignorée par tous les principaux navigateurs.

6voto

user975033 Points 143

A partir de Chrome v34, autocomplete="off" est désormais ignorée par défaut.

Cette fonctionnalité quelque peu discutable peut être désactivée dans la configuration des drapeaux en se rendant à l'adresse suivante chrome://flags

http://news.softpedia.com/news/Chrome-34-Seeks-to-Save-All-Your-Passwords-436693.shtml

6 votes

Notez que ce changement dans Chrome n'affecte que les champs de mot de passe . Les champs sans mot de passe respectent toujours l'attribut autocomplete="off".

4voto

ITroubs Points 4570

Si vous êtes capable d'utiliser JavaScript et jQuery, vous pouvez le placer sur le chargement du html :

$('#theform input').val('');

0 votes

Il est utilisé dans Joomla, qui utilise Mootools - il y a des conflits avec mootools et jquery, donc je ne peux pas le faire. Je le garderai à l'esprit pour une référence future, cependant.

0 votes

En vous référant à la documentation de mootools, vous pouvez faire $$('.emptyThisInForm').each(function(el){ el.value = '' ; }) ;

1 votes

Ce code va perturber les cases à cocher et les boutons radio. Ce qui pourrait être plus élégant est $('#theform')[0].reset() pour le forcer à revenir aux valeurs par défaut spécifiées dans le HTML.

1voto

Shockwave29 Points 11

Sauf pour Navigateur Maxthon Je pense qu'ils sont célèbres en Chine et qu'ils se sont fait un nom dans le monde entier. Ils ne traitent pas très bien le pouvoir Autotocomplete=off. Cela ne fonctionnera pas avec eux.

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