La saisie semi-automatique = «off» est-elle compatible avec tous les navigateurs modernes?

84

Je viens de recevoir une obligation 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é de champ de formulaire autocomplete = "off", mais je n'arrive pas à trouver de documentation indiquant quels navigateurs la prennent en charge. Quelqu'un peut-il me diriger dans la bonne direction d'un graphique des attributs de formulaire et de la compatibilité du navigateur?

EmmyS
la source
En relation: stackoverflow.com/questions/582244/…
ChristopheD
2
@camigreenall - pas une copie; la question à laquelle vous avez lié a fourni une réponse sur la façon de le faire; ce que j'ai demandé, c'était une documentation sur la compatibilité des navigateurs.
EmmyS

Réponses:

103

Sachez que tous les principaux navigateurs sont en train d' ignorer l'attribut des champs de mot de passe .

Je ne peux offrir que des preuves anecdotiques, mais je n'ai pas encore rencontré de navigateur qui ne respecte pas autocomplete="off", cette expérience couvre:

  • Firefox 1.5+ (Windows et Ubuntu)
  • Opera 6+ (Windows et Ubuntu)
  • Chrome v2 + (Windows et Ubuntu)
  • Épiphanie 0.8 (ish) (Ubuntu)
  • Midori (je ne me souviens plus de quelle version)
  • Safari v1 + (Windows)
  • IE 4 - 8, Windows.

Je suis conscient que les scripts Greasemonkey, et vraisemblablement d'autres scripts utilisateur, peuvent désactiver le autocompleteparamètre.

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

  1. Comment désactiver la saisie semi-automatique des formulaires
  2. Utilisation de la saisie semi-automatique dans les formulaires HTML
David dit de réintégrer Monica
la source
Merci pour ces articles. Je sais qu'il existe des scripts qui peuvent désactiver le paramètre, mais nous ne pouvons pas faire grand chose. Si quelqu'un souhaite 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'empêcher. Nous essayons vraiment d'empêcher les données d'être enregistrées sur des machines partagées.
EmmyS
@EmmyS, non c'est vrai. Il faudrait à un utilisateur assez sensibilisé à la technologie pour se donner la peine de mettre en œuvre une solution anti-auto-complétion, et ce que les utilisateurs font de votre site sur leurs machines dépend d'eux, pas de vous. =)
David dit de réintégrer Monica
@DavidThomas - Merci pour la liste de compatibilité, je n'ai pas pu en trouver une bonne chez caniuse, w3c ou ailleurs. :) +1
Travis J
1
@EmmyS " Nous essayons vraiment d'empêcher les données d'être sauvegardées sur des machines partagées. " La bonne façon de faire est de configurer correctement les navigateurs sur les machines partagées afin qu'ils ne conservent aucune information entre les sessions.
curiousguy le
1
@curiousguy - oui, c'est une bonne idée si vous avez le contrôle sur les machines partagées. Nous ne l'avons pas fait dans ce cas.
EmmyS
37

Les gestionnaires de mots de passe ignorent désormais l' autocompleteattribut des passwordchamps dans les principaux navigateurs à partir de:

Cela devrait toujours fonctionner correctement pour la désactivation des autocompletechamps de formulaire, mais n'affecte plus le gestionnaire de mots de passe.

Manishearth
la source
Ce n'est pas le cas. Je viens de tester. Même placé en plus autocomplete="false"sur le champ de formulaire, en plus d'un, qui était présent sur l'élément de formulaire lui-même. Aucun effet du tout. Je dirais que la saisie semi-automatique est ignorée par tous les principaux navigateurs.
Eugene
6

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

Cette fonctionnalité quelque peu discutable peut être désactivée dans la configuration des indicateurs en visitant chrome://flags

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

ChrisAdmin
la source
6
Notez que cette modification dans Chrome affecte uniquement les champs de mot de passe . Les champs sans mot de passe respectent toujours l'attribut autocomplete = "off".
Jordan Rieger
4

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

$('#theform input').val('');
ITroubs
la source
Ceci est utilisé dans Joomla, qui utilise Mootools - il y a des conflits avec mootools et jquery, donc je ne peux pas faire cela. Je garderai cela à l'esprit pour référence future, cependant.
EmmyS
en vous référant à la documentation de mootools, vous pouvez faire $$ ('. emptyThisInForm'). each (function (el) {el.value = '';});
ITroubs
1
Ce code gâchera les cases à cocher et les boutons radio. Ce qui peut être plus élégant est $('#theform')[0].reset()de le forcer à revenir aux valeurs par défaut spécifiées dans le HTML.
Gabe Martin-Dempesy
1
Pour n'affecter que les champs de mot de passe, vous pouvez utiliser un sélecteur jQuery plus spécifique, par exemple:$( '#theform input:password' ).val('');
John Hascall
1

Sauf pour Maxthon Browser, je pense, ils sont célèbres en Chine et se font un nom maintenant dans le monde entier. Ils ne traitent pas très bien la saisie semi-automatique = hors tension. Cela ne fonctionnera pas avec eux.

Shockwave29
la source
Oui, Maxthon ne respectera pas autocomplete=off, mais vous pouvez le forcer à ne pas remplir automatiquement le champ en définissantismxfilled='0'
GTCrais
0

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

NixRam
la source