728 Stimmen

Chrome ignoriert autocomplete="off"

Ich habe eine Webanwendung erstellt, die ein Tagbox-Dropdown verwendet. Dies funktioniert in allen Browsern gut, außer im Chrome-Browser (Version 21.0.1180.89).

Trotz des input-Feldes UND des form-Feldes mit dem Attribut autocomplete="off" besteht Chrome darauf, eine Dropdown-Verlaufsliste früherer Einträge für das Feld anzuzeigen, was die Tagbox-Liste auslöscht.

17 Stimmen

Technisch wurde diese Frage etwa 5 Monate vor der als "Diese Frage hat hier bereits eine Antwort" bezeichneten Frage gestellt. Diese Frage ist das Duplikat, da sie nach dieser gestellt wurde.

0 Stimmen

Ehrlich gesagt, was wenn das der Grund für das Deaktivieren von autocomplete=off ist. Was ist, wenn der Plan ist, sicherzustellen, dass das Web so detailliert und beschrieben ist, dass der Browser, den Sie gerade verwenden, jedes Feld automatisch ausfüllen kann, wie es ihre neueste Version möchte. Wenn das der Fall wäre, müssten wir alle Felder beschreiben - und der Browser würde das automatische Ausfüllen für alle Felder deaktivieren, die außerhalb des Bereichs des Autocomplete-Skripts/Apps liegen... Ich wette darauf, dass dies der Fall ist.

87 Stimmen

7 Jahre und immer noch können wir die automatische Vervollständigung nicht richtig deaktivieren... so eine Schande...

67voto

Keith Punkte 141163

TL;DR: Sage Chrome, dass es sich um eine neue Passworteingabe handelt und er alte Passwörter nicht als Autovervollständigungsvorschläge anzeigt:


autocomplete="off" funktioniert aufgrund einer Designentscheidung nicht - zahlreiche Untersuchungen zeigen, dass Benutzer viel längere und schwerer zu hackende Passwörter haben, wenn sie diese im Browser oder im Passwort-Manager speichern können.

Die Spezifikation für autocomplete hat sich geändert und unterstützt jetzt verschiedene Werte, um Anmeldeformulare einfach automatisch auszufüllen:

Wenn du diese nicht bereitstellst, versucht Chrome trotzdem zu raten, und wenn es das tut, ignoriert es autocomplete="off".

Die Lösung besteht darin, dass autocomplete-Werte auch für Passwortrücksetzformulare existieren:

Gib dein altes Passwort ein:

Gib dein neues Passwort ein:

Bitte wiederhole es zur Sicherheit:

Du kannst dieses autocomplete="new-password"-Flag verwenden, um Chrome mitzuteilen, dass es das Passwort nicht erraten soll, auch wenn es eines für diese Website gespeichert hat.

Chrome kann Passwörter für Websites auch direkt mit der Credentials-API verwalten, die ein Standard ist und wahrscheinlich irgendwann universelle Unterstützung haben wird.

6 Stimmen

Kein wirklich überzeugender Grund. Die Tatsache, dass der Benutzer etwas möchte, bedeutet nicht, dass es eine kluge Idee ist. Das ist fast genauso schlimm wie zu sagen, dass Sie einzelne Zeichenkennwörter in Ihrer Anwendung zulassen, weil der Benutzer es bequemer findet. Manchmal geht Sicherheit über Bequemlichkeit...

0 Stimmen

Ich habe ein Feld namens "ContactNoAlt", das Chrome darauf besteht, mit einer E-Mail-Adresse auszufüllen. Autocomplete ein/aus ist bevorzugt, aber auf praktischer Ebene ist ein Workaround erforderlich, weil Chrome fehlerhaft ist. Noch konkreter ist autocomplete="off" ein Standard - also was macht die Entwickler von Chrome so gut, dass sie einfach Standards ignorieren können - vielleicht wird Chrome eines Tages entscheiden, dass ein anderes HTML-Stück unpraktisch ist .... (das fängt an, sich wie IE5/6 de-ja-vu anzufühlen)

0 Stimmen

Ich bin ein Chrome-Benutzer und möchte dieses Verhalten nicht. Es hat mich nicht einmal gefragt, bevor es das Passwortfeld, das aufgetaucht ist, automatisch ausgefüllt hat, um sicherzustellen, dass nur ich auf die betroffene Webanwendung zugreifen konnte. Das Speichern einiger Passwörter sollte nicht bedeuten, dass alle Passwörter automatisch vervollständigt werden.

52voto

step Punkte 1817

Immer funktionierende Lösung

Ich habe den endlosen Kampf mit Google Chrome durch die Verwendung von zufälligen Zeichen gelöst. Wenn Sie immer Autocomplete mit einer zufälligen Zeichenfolge rendern, wird es sich nie an etwas erinnern.

Ich hoffe, dass es anderen Menschen helfen wird.

Update 2022:

Chrome hat diese Verbesserung vorgenommen: autocomplete="new-password", was es lösen wird, aber ich bin mir nicht sicher, ob Chrome es nach einiger Zeit wieder in eine andere Funktionalität ändert.

0 Stimmen

Wenn jeder Render ein eindeutiger Zufallsstring haben wird, ist es unmöglich, sich zu erinnern. Das ist der Punkt.

2 Stimmen

Das hat bei mir in Chrome-Version 99.0.4844.51 auf den E-Mail- und Passwortfeldern nicht funktioniert, aber dies hat funktioniert: autocomplete="new-password" Gefunden auf developer.mozilla.org/en-US/docs/Web/Security/…

0 Stimmen

Funktioniert auch nicht für mich

43voto

Nathan Pitman Punkte 2256

Die Lösung besteht derzeit darin, type="search" zu verwenden. Google wendet keine Autofill-Funktion auf Eingabefelder mit einem Typ von Suche an.

Siehe: https://twitter.com/Paul_Kinlan/status/596613148985171968

Update 04/04/2016: Es sieht so aus, als ob dies behoben wurde! Siehe http://codereview.chromium.org/1473733008

13 Stimmen

Dies ist nicht wahr wie v73

0 Stimmen

Dies war das einfachste für mich, Chrome Version 98.0.4758.102. Es scheint fraglich, ob es für andere Versionen von Chrome funktionieren wird.

28voto

dsuess Punkte 4999

Browser kümmert sich nicht um autocomplete=off auto oder füllt sogar Anmeldeinformationen in das falsche Textfeld ein?

Ich habe es behoben, indem ich das Passwortfeld auf schreibgeschützt gesetzt habe und es aktiviere, wenn der Benutzer darauf klickt oder mit der Tabulatortaste zu diesem Feld navigiert.

Browser-Autofill fixieren: schreibgeschützt und bei Fokus beschreibbar machen (beim Klicken mit der Maus und beim Durchlaufen der Felder mit der Tabulatortaste)

Update: Mobile Safari setzt den Cursor im Feld, zeigt aber keine virtuelle Tastatur an. Der neue Fix funktioniert wie zuvor, behandelt jedoch die virtuelle Tastatur:

Live-Demo https://jsfiddle.net/danielsuess/n0scguv6/

// UpdateEnd

Übrigens, mehr Informationen zu meiner Beobachtung:

Manchmal bemerke ich dieses seltsame Verhalten bei Chrome und Safari, wenn sich Passwortfelder im gleichen Formular befinden. Ich vermute, der Browser sucht nach einem Passwortfeld, um Ihre gespeicherten Anmeldeinformationen einzufügen. Dann füllt er Benutzername in das nächstgelegene Text-ähnliche Eingabefeld ein, das dem Passwortfeld im DOM vorausgeht (nur eine Vermutung aufgrund meiner Beobachtung). Da der Browser die letzte Instanz ist und Sie ihn nicht kontrollieren können, würde manchmal selbst autocomplete=off nicht verhindern, Anmeldeinformationen in falsche Felder einzufügen, aber nicht in Benutzer- oder Spitznamenfelder.

3 Stimmen

Anstelle von onfocus benutze ich setTimeout, um das readonly zu löschen, damit meine Benutzer nicht sehen, dass die Eingabe schreibgeschützt ist und es nie fokussieren!

0 Stimmen

Nur die Lösung funktioniert für mich

27voto

Peter Kerr Punkte 1519

Die Chrome-Version 34 ignoriert jetzt das autocomplete=off, siehe hier.

Viel Diskussion darüber, ob das gut oder schlecht ist? Was sind deine Ansichten?

14 Stimmen

Entschuldigung für den Downvote ... dies ist keine Diskussionsseite (versuchen Sie es stattdessen mit Quora), und Sie geben keine Antwort. Danke für den Link aber.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X