La saisie semi-automatique off vs faux?
Récemment j'ai rencontré un problème lorsque j'ai voulu désactiver l'auto-complétion dans tous les navigateurs.
Google Chrome dispose d'une nouvelle fonctionnalité dans les paramètres où vous pouvez ajouter un numéro de carte. Et l'exigence était de aussi de les désactiver.
Ce qui a fonctionné dans tous les navigateurs, c'était de faire cette saisie semi-automatique=false au niveau du formulaire.
Mais ce n'est pas compatible avec w3 règles, où ils imposent d'avoir autocomplete=off|on.
Quelqu'un peut-il m'expliquer pourquoi des faux fonctionne dans tous les navigateurs?
même ie8, tous firefox, safari, etc. Mais n'est pas conforme.
- J'ai été en mesure de trouver la solution à partir d'un autre post: stackoverflow.com/a/38961567/2038779
- Double Possible de la Désactivation de google Chrome remplissage automatique
Vous devez vous connecter pour publier un commentaire.
Vous avez raison. Réglage de l'attribut autocomplete sur "off" ne pas désactiver Chrome de saisie automatique dans les versions plus récentes de Chrome.
Toutefois, vous pouvez définir la saisie semi-automatique à quoi que ce soit d'ailleurs "on" ou "off" ("faux", "vrai", "nofill") et il permet de désactiver Chrome remplissage automatique.
Ce comportement est probablement parce que l'attribut autocomplete s'attend à un "on" ou "off" de la valeur et de ne pas faire quelque chose si vous lui donnez quelque chose d'autre. Donc, si vous lui donnez quelque chose d'autre que ces valeurs, la fonction remplissage automatique tombe à l'eau/ne pas faire n'importe quoi.
Avec la version actuelle de Chrome, il a été constaté que l'établissement de l'attribut autocomplete sur "off" en fait, il fonctionne maintenant.Aussi, j'ai trouvé que cela fonctionne uniquement si vous définissez l'attribut autocomplete dans chaque
<input>
balise de la forme.Il y a eu une réponse à cette ambiguïté dans le Chrome bug listes ici.
Avertissement: Ceci a été trouvé pour être vrai dans la version Chrome 47.0.2526.106 (64-bit)
Utilisation autocomplete="mon-domaine-nom" au lieu de autocomplete="off". Faire attention à ce que vous l'appelez, car certaines valeurs sont encore reconnu comme autocomplete="pays". J'ai aussi trouvé que l'utilisation de l'espace réservé attribut aidé un peu difficile de scénarios.
Exemple:
<input type="text" name="field1" autocomplete="my-field-name1" placeholder="Enter your name">
Chrome récemment cessé d'utiliser autocomplete="off" parce qu'ils pensaient que c'était galvaudé par des développeurs qui n'ont pas mis beaucoup de pensée dans si oui ou non le formulaire de saisie semi-automatique. Ainsi, ils ont pris l'ancienne méthode, et nous a fait utiliser une nouvelle afin de nous assurer que nous ne voulons pas vraiment à la saisie semi-automatique.
Après la version Chrome 72.XX:
Chrome ignore
autocomplete="off"
autocomplete="no-fill"
ouautocomplete="randomText"
à la fois sur le terrain et au niveau du formulaire.La seule option que j'ai trouvé est de suivre un travail autour de en incitant Chrome pour remplir la saisie automatique sur un mannequin zone de texte mot de passe et ensuite de les cacher de la vue de l'utilisateur.
Rappelez-vous la vieille méthode avec
style="display: hidden"
oustyle="visibility: hidden"
est également ignoré.CORRECTIF:
Afin de créer un
DIV
avecheight: 0px;overflow:hidden
qui sera toujours rendre les éléments HTML, mais cacher de l'Utilisateur du point de vue.Exemple De Code:
Ajoutez juste au-dessus de la div dans le code HTML de la Forme, et il devrait fonctionner!
Cela a fonctionné de manière fiable à chaque fois pour moi.
Note : j'ai invoqué cette LOC modaux événement à afficher.
autocomplete="none" fonctionne parfaitement pour angularjs et angulaire 7
Automatique valeur autre que off et de fausses œuvres.
autoComplete="nope"
autoComplete="foo"
autoComplete="boo"
autoComplete="anythingGoesHere"
Testé sur chrome 76 et de réagir à la section 16.9.0
Si anyones la lecture de ce et a de la difficulté à la désactivation de la saisie semi-automatique sur les champs username et password pour les nouveaux utilisateurs, j'ai trouvé la mise en autocomplete="nouveau mot de passe" fonctionne dans Chrome 77. Il a également empêché le champ nom d'utilisateur de l'auto à la fin.
Ref: https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill
Vous pouvez simplement ajouter un script JS dans votre code comme celui ci-dessous:
JS:
HTML:
Comme un complément à @camiblanch réponse
Ajoutant
autocomplete="off"
est ne va pas le couper.Changer le type d'entrée de l'attribut
type="search"
.Google ne s'applique pas d'auto-remplissage des intrants, avec un type de recherche.
$(':input', this.$formElement).attr('autocomplete', 'off');
pour les formes critiques. Fonctionne dans Chrome.$(':input', this.$formElement).attr('autocomplete', 'off');
?autocomplete
prop directement sur les champs de saisie. Cela n'a pas fonctionné sur l'élément de FORMULAIRE, si, c'est pourquoi j'ai eu à l'appliquer à tous les domaines.