Existe-t-il un moyen d'empêcher l'extension de navigateur LastPass de remplir un formulaire HTML avec un champ de saisie avec le nom "nom d'utilisateur"?
Ceci est un champ caché, donc je ne veux pas qu'un logiciel utilise ce champ à ses fins:
<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">
La solution ne doit pas être comme "renommer le champ de saisie".
type="hidden"
au lieu de le masquer avec CSS$(':input').attr('data-lpignore', true);
tout. Cela permettra de remplir le formulaire lastpass sur tous les formulaires.Réponses:
Ajouter
à un champ de saisie désactivé la case grise LastPass [...] pour moi.
Provenant de LastPass.com
la source
Deux conditions doivent être remplies:
autocomplete="off"
attributSettings > Advanced > Allow pages to disable autofill
Cela dépend donc à la fois de l'utilisateur et du développeur.
la source
Ce qui a fonctionné pour moi, c'est d'avoir le mot "-search-" dans l'identifiant du formulaire, quelque chose comme
<form id="affiliate-search-form">
- et lastpass n'ajoute pas ses éléments aux entrées du formulaire. Cela fonctionne avec quelque chose de plus simple comme<form id="search">
mais ne fonctionne pas avec<form id="se1rch">
la source
search
tant que classes à la fois au nom d'utilisateur et au mot de passe a désactivé le bouton astérisque dans le champ du nom d'utilisateur, mais le champ du mot de passe reste tel quel.Je sais que je suis en retard à la fête ici, mais j'ai trouvé ça quand j'essayais d'empêcher Lastpass de ruiner mes formulaires. @takeshin a raison en ce sens que la saisie semi-automatique ne suffit pas. J'ai fini par faire le hack ci-dessous juste pour cacher le symbole. Pas joli, mais je me suis débarrassé de l'icône.
Si des développeurs lastpass lisent ceci, veuillez nous donner un attribut à utiliser, afin que nous n'ayons pas à recourir à des choses comme celles-ci.
la source
background-image
sur les champs de saisie (j'aime mettre "clear boutons » sur les champs d'entrée) - dans ce cas , ce qui a également travaillé pour moi se couchaitbackground-image
etbackground-position
avec!important
pour remplacer le style LastPass de builtin.Je pense que lastpass honore l'
autocomplete="off"
attribut des entrées, mais je ne suis pas sûr à 100%.EDIT Comme d'autres l'ont souligné. cela ne fonctionne que si l'utilisateur a configuré la dernière passe pour l'honorer.
la source
autocomplete="off"
au niveau du formulaire. Cela m'a fait perdre une heure de temps de développement sur un formulaire "modifier l'utilisateur" qui semblait afficher la mauvaise adresse e-mail. Les préférences lastpass ont une option "ne pas écraser les champs déjà remplis", ce qui aide beaucoup.Pour moi travaillé soit
type=search
ce qui est un peu égaltext
ou en utilisantrole=note
.Vous pouvez vérifier le LastPass-JavaScript mais c'est énorme, peut-être que vous pouvez trouver une solution de contournement là-bas, d'après ce que j'ai vu, ils ne vérifient que 4 types d'entrée, ce
input type=search
serait donc une solution de contournement:Ce sont également les
role
mots - clés qu'ils semblent ignorer:J'ai vérifié LastPass '
onloadwff.js
, préparez-vous à 26.960 lignes de code :)la source
type=search
c'est la seule chose qui fonctionne pour moi.type=search
soit le seul moyen d'empêcher le remplissage automatique quel que soit l'état du paramètre LastPass "Respect autocomplete = off".role="note"
outype="search"
. Aucun n'a fonctionné sur le dernier Chrome et le dernier lastpass.lpignore
fonctionne à nouveau,https://jsfiddle.net/78z0L1sa/3/
Ajouter "recherche" à l'ID d'entrée
la source
Un peu tard à la fête mais je viens juste d'y parvenir en modifiant le formulaire avec:
Je suppose que ces imbéciles passent en dernier à penser que c'est un formulaire de recherche. Cela ne fonctionne cependant pas pour les champs de mot de passe! Lastpass ignore le champ de nom dans ce cas.
La seule façon dont j'ai réussi à faire cela est d'ajouter ce qui suit directement en haut du formulaire:
Il provoque un scintillement désagréable mais supprime le non-sens de la saisie automatique - bien qu'il affiche toujours le widget "générer le mot de passe". LastPass attend jusqu'à domready, puis vérifie s'il y a des champs de mot de passe visibles, il n'est donc pas possible de masquer ou de réduire les champs simulés ci-dessus.
la source
Pour cette dernière version buggy d'octobre 2019 de Lastpass, cette solution simple semble être la meilleure.
Ajouter
type="search"
à votre entrée.
La routine lastpass vérifie l'
type
attribut pour déterminer ce qu'il faut faire avec son remplissage automatique, et il ne fait rien sur ce html5type
de «recherche». Bien sûr, c'est légèrement hacky, mais c'est un changement d'une ligne qui peut être facilement supprimé lorsqu'ils corrigent leur script bogué.Remarque: Après cela, votre entrée peut apparaître différemment par certains navigateurs s'ils reprennent l'
type
attribut. Si vous observez cela, vous pouvez l'empêcher de se produire en définissant les propriétés CSS spécifiques au navigateur-webkit-appearance
et-moz-appearance
sur'none'
sur votre entrée.la source
Ce code de style ES6 m'a été utile car il a ajouté data-lpignore à tous mes contrôles d'entrée:
Pour accéder à un contrôle INPUT spécifique, on pourrait écrire quelque chose comme ceci:
Ou, vous pouvez le faire par nom de classe:
la source
Aucune des options ici (autocomplete, data-lpignore etc.) n'a empêché LastPass de remplir automatiquement mes champs de formulaire malheureusement. J'ai adopté une approche plus martiale du problème et défini de manière asynchrone les
name
attributs d' entrée via JavaScript à la place. La fonction suivante dépendante de jQuery (appelée à partir du gestionnaire d'événements onsubmit du formulaire) a fait l'affaire:Dans le formulaire, j'ai simplement utilisé des
tmp-name
attributs à la place desname
attributs équivalents . Exemple:Mise à jour 2019-03-20
J'ai toujours rencontré des difficultés avec ce qui précède à cause d'AngularJS en fonction des champs de formulaire ayant des
name
attributs pour que ngMessages présente correctement les messages d'erreur de validation de champ.En fin de compte, la seule solution que j'ai pu trouver pour empêcher LastPass de remplir les champs de mot de passe sur mon formulaire de changement de mot de passe était de:
input[type=password]
entièrement, ETComme je dois être en mesure de soumettre le formulaire normalement dans mon cas, j'ai toujours utilisé ma solution originale pour mettre à jour les noms de champs «juste à temps». Pour éviter d'utiliser les champs de saisie de mot de passe, j'ai trouvé que cette solution fonctionnait très bien.
la source
J'ai essayé le changement de nom -search mais pour une raison quelconque, cela n'a pas fonctionné. Ce qui a fonctionné pour moi est le suivant:
Essayé et testé dans les dernières versions de FF et Chrome.
la source
Voici ce qui a fonctionné pour moi pour empêcher lastpass de remplir une boîte de rasoir @ Html.EditorFor dans Chrome:
Cliquez sur l'icône LastPass active dans votre barre d'outils, puis allez dans Options du compte> Préférences d'extension.
Sur cet écran, cochez "Ne pas écraser les champs déjà remplis" (en bas)
Ensuite, cliquez sur "avancé" sur la gauche.
Sur cet écran, cochez "Respecter la saisie semi-automatique = désactivé: autoriser les sites Web à désactiver la saisie automatique".
Je n'avais pas besoin de faire quoi que ce soit de spécial dans mon formulaire ASP cshtml mais j'avais une valeur par défaut dans le formulaire pour la boîte @ Html.EditorFor.
J'espère que cela aide et fonctionne pour quelqu'un. Je n'ai pas trouvé d'aide spécifique à Razor sur ce problème sur le Web, alors j'ai pensé ajouter ceci puisque je l'ai compris à l'aide du lien et des contributions ci-dessus.
la source