Gibt es eine Möglichkeit, zu verhindern, dass die LastPass-Browsererweiterung ein HTML-basiertes Formular mit einem Eingabefeld mit dem Namen "Benutzername" ausfüllt?
Dies ist ein verstecktes Feld, daher möchte ich nicht, dass Software dieses Feld für ihre Zwecke verwendet:
<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">
Die Lösung sollte nicht wie "Eingabefeld umbenennen" lauten.
type="hidden"
es$(':input').attr('data-lpignore', true);
alles. Dadurch wird das Ausfüllen des Lastpass-Formulars für alle Formulare deaktiviert.Antworten:
Hinzufügen
In einem Eingabefeld wurde das graue [...] LastPass-Feld für mich deaktiviert.
Von LastPass.com bezogen
quelle
Zwei Bedingungen müssen erfüllt sein:
autocomplete="off"
Attribut habenSettings > Advanced > Allow pages to disable autofill
Dies hängt also sowohl vom Benutzer als auch vom Entwickler ab.
quelle
Was für mich funktioniert hat, ist das Wort "-search-" in der ID des Formulars, so etwas wie
<form id="affiliate-search-form">
- und lastpass fügt seine Elemente nicht zu den Formulareingaben hinzu. Es funktioniert mit etwas Einfacherem wie<form id="search">
, funktioniert aber nicht mit<form id="se1rch">
quelle
search
von Klassen zu Benutzername und Kennwort die Sternschaltfläche im Feld Benutzername deaktiviert, das Kennwortfeld bleibt jedoch unverändert.Ich weiß, dass ich zu spät zur Party hier bin, aber ich habe das gefunden, als ich versucht habe, den letzten Pass daran zu hindern, meine Formen zu ruinieren. @takeshin ist insofern korrekt, als die automatische Vervollständigung nicht ausreicht. Am Ende habe ich den Hack unten gemacht, nur um das Symbol zu verbergen. Nicht schön, aber ich habe das Symbol losgeworden.
Wenn Lastpass-Entwickler dies lesen, geben Sie uns bitte ein zu verwendendes Attribut, damit wir nicht auf solche Dinge zurückgreifen müssen.
quelle
background-image
Eingabefelder festzulegen (ich möchte "klar" setzen Tasten“auf Eingabefelder) - in diesem Fall , was auch für mich gearbeitet wurden gerade Einstellungbackground-image
undbackground-position
mit!important
dem Lastpass builtin Stil außer Kraft zu setzen.Ich denke, lastpass berücksichtigt das
autocomplete="off"
Attribut für Eingaben, bin mir aber nicht 100% sicher.EDIT Wie andere darauf hingewiesen haben. Dies funktioniert nur, wenn der Benutzer den letzten Durchgang konfiguriert hat, um dies zu berücksichtigen.
quelle
autocomplete="off"
auf Formularebene nicht berücksichtigt wird . Das hat mich nur eine Stunde Entwicklungszeit für ein "Benutzer bearbeiten" -Formular verschwendet, in dem anscheinend die falsche E-Mail-Adresse angezeigt wurde. Die Lastpass-Einstellungen haben die Option "Nicht ausgefüllte Felder nicht überschreiben", was sehr hilfreich ist.Für mich hat entweder gearbeitet,
type=search
was irgendwie gleich isttext
oder verwendetrole=note
.Sie können das LastPass-JavaScript überprüfen, aber es ist riesig. Vielleicht finden Sie dort eine Problemumgehung. Soweit ich gesehen habe, werden nur 4 Eingabetypen überprüft. Dies
input type=search
wäre also eine Problemumgehung:Auch das sind die
role
Schlüsselwörter, die sie zu ignorieren scheinen:Ich habe LastPass 'überprüft und mich auf
onloadwff.js
26.960 Codezeilen vorbereitet :)quelle
type=search
ist das einzige, was für mich funktioniert.type=search
die einzige Möglichkeit zu sein, das automatische Ausfüllen zu verhindern, unabhängig vom Status der LastPass-Einstellung "Autocomplete respektieren = aus".role="note"
odertype="search"
. Keiner hat mit dem neuesten Chrome und dem neuesten Lastpass funktioniert.lpignore
wieder funktioniert,https://jsfiddle.net/78z0L1sa/3/
Fügen Sie der Eingabe-ID "Suche" hinzu
quelle
Etwas spät zur Party, aber ich habe dies gerade erreicht, indem ich das Formular geändert habe mit:
Ich denke, diese Dummköpfe denken zuletzt, dass es sich um ein Suchformular handelt. Dies funktioniert jedoch nicht für Passwortfelder! Lastpass ignoriert in diesem Fall das Namensfeld.
Die einzige Möglichkeit, dies zu tun, besteht darin, Folgendes direkt oben im Formular hinzuzufügen:
Es verursacht ein unangenehmes Flimmern, entfernt jedoch den Unsinn beim automatischen Ausfüllen - obwohl immer noch das Widget "Passwort generieren" angezeigt wird. LastPass wartet bis zum Domready und prüft dann, ob sichtbare Kennwortfelder vorhanden sind. Daher ist es nicht möglich, die obigen Scheinfelder auszublenden oder zu verkleinern.
quelle
Für diese letzte fehlerhafte Version von Lastpass im Oktober 2019 scheint diese einfache Lösung die beste zu sein.
Hinzufügen
type="search"
zu Ihrer Eingabe.
Die Lastpass-Routine überprüft das
type
Attribut, um festzustellen, was mit dem automatischen Ausfüllen zu tun ist, und unternimmt nichts mit diesem HTML5type
von "Suche" aus. Sicher, das ist ein bisschen hackig, aber es ist eine einzeilige Änderung, die leicht entfernt werden kann, wenn sie ihr fehlerhaftes Skript reparieren.Hinweis: Danach wird Ihre Eingabe möglicherweise von einigen Browsern anders gestaltet, wenn sie das
type
Attribut aufgreifen. Wenn Sie dies beachten, können Sie es nicht passiert verhindern , indem die browserspezifischen CSS - Eigenschaften einstellen-webkit-appearance
und-moz-appearance
zu'none'
auf Ihre Eingabe.quelle
Dieser ES6-Code war hilfreich für mich, da er allen meinen Eingabesteuerelementen den Daten-lpignore hinzufügte :
Um auf ein bestimmtes INPUT-Steuerelement zuzugreifen, könnte man Folgendes schreiben:
Oder Sie können dies anhand des Klassennamens tun:
quelle
Keine der Optionen hier (Autocomplete, Data-Lpignore usw.) hat LastPass leider daran gehindert, meine Formularfelder automatisch auszufüllen. Ich habe das Problem mit einem Vorschlaghammer angegangen und die Eingabeattribute
name
stattdessen asynchron über JavaScript festgelegt. Die folgende jQuery-abhängige Funktion (die vom onsubmit-Ereignishandler des Formulars aufgerufen wird) hat den Trick ausgeführt:In dem Formular habe ich einfach
tmp-name
Attribute anstelle der entsprechendenname
Attribute verwendet. Beispiel:Update 2019-03-20
Ich hatte immer noch Schwierigkeiten mit dem oben genannten wegen AngularJS, abhängig von den Formularfeldern mit
name
Gesagten, Attributen, damit ngMessages Fehlermeldungen zur Feldvalidierung korrekt anzeigt.Die einzige Lösung, die ich finden konnte, um zu verhindern, dass LastPass Kennwortfelder in meinem Kennwortänderungsformular ausfüllt, war:
input[type=password]
vollständige Verwendung von ANDDa ich das Formular in meinem Fall normalerweise einreichen muss, habe ich meine ursprüngliche Lösung verwendet, um die Feldnamen "just in time" zu aktualisieren. Um die Verwendung von Passworteingabefeldern zu vermeiden, fand ich, dass diese Lösung sehr gut funktioniert.
quelle
Versuchte die Umbenennung von -search, aber aus irgendeinem Grund funktionierte das nicht. Was für mich funktioniert hat, ist Folgendes:
Bewährt in den neuesten Versionen von FF und Chrome.
quelle
Folgendes hat bei mir funktioniert, um zu verhindern, dass der letzte Durchgang ein Rasiermesser @ Html.EditorFor-Feld in Chrome füllt:
Klicken Sie in Ihrer Symbolleiste auf das aktive LastPass-Symbol und gehen Sie dann zu Kontooptionen> Erweiterungseinstellungen.
Aktivieren Sie auf diesem Bildschirm die Option "Nicht ausgefüllte Felder nicht überschreiben" (unten).
Klicken Sie anschließend links auf "Erweitert".
Aktivieren Sie auf diesem Bildschirm "AutoComplete respektieren = aus: Websites das automatische Ausfüllen deaktivieren".
Ich musste in meinem ASP-cshtml-Formular nichts Besonderes tun, aber ich hatte einen Standardwert im Formular für das Feld @ Html.EditorFor.
Ich hoffe das hilft und funktioniert für jemanden. Ich konnte im Web keine Razor-spezifische Hilfe zu diesem Problem finden, daher dachte ich, ich würde dies hinzufügen, da ich es mithilfe des obigen Links und der Beiträge herausgefunden habe.
quelle