Ist Autocomplete = "off" mit allen modernen Browsern kompatibel?

84

Ich habe gerade die Anforderung erhalten, zu verhindern, dass Browser Daten speichern, die in bestimmte Formularfelder eingegeben wurden. Es ist Jahre her, seit ich Webentwickler gemacht habe, und dies ist eine relativ neue Funktion. Ich konnte die Formularfeldeigenschaft autocomplete = "off" finden, aber ich kann anscheinend keine Dokumentation finden, die angibt, welche Browser dies unterstützen. Kann mich jemand in die richtige Richtung eines Diagramms mit Formularattributen und Browserkompatibilität weisen?

EmmyS
quelle
Siehe auch
ChristopheD
2
@camigreenall - kein Duplikat; Die Frage, mit der Sie verlinkt haben, gab eine Antwort darauf. Ich bat um eine Dokumentation der Browserkompatibilität.
EmmyS

Antworten:

102

Beachten Sie, dass alle gängigen Browser das Attribut für Kennwortfelder ignorieren .

Ich kann nur anekdotische Beweise liefern, aber ich bin noch nicht auf einen Browser gestoßen autocomplete="off", der dies nicht respektiert . Diese Erfahrung umfasst:

  • Firefox 1.5+ (Windows und Ubuntu)
  • Opera 6+ (Windows und Ubuntu)
  • Chrome v2 + (Windows und Ubuntu)
  • Epiphany 0.8 (ish) (Ubuntu)
  • Midori (ich kann mich nicht erinnern welche Version)
  • Safari v1 + (Windows)
  • IE 4 - 8, Windows.

Mir ist bekannt, dass Greasemonkey-Skripte und vermutlich andere Benutzerskripte die autocompleteEinstellung deaktivieren können .

Ich habe einige Artikel gefunden, die für Sie nützlich sein könnten:

  1. So deaktivieren Sie die automatische Formularausfüllung
  2. Verwenden der automatischen Vervollständigung in HTML-Formularen
David sagt, Monica wieder einsetzen
quelle
Danke für diese Artikel. Ich weiß, dass es Skripte gibt, die die Einstellung deaktivieren können, aber wir können nur so viel tun. Wenn jemand möchte, dass sein Browser seine Kreditkarteninformationen auf seinem PC speichert, können wir nicht viel tun, um dies zu verhindern. Wir versuchen wirklich zu verhindern, dass Daten auf gemeinsam genutzten Computern gespeichert werden.
EmmyS
@EmmyS, nein das stimmt. Es würde einen ziemlich technisch versierten Benutzer erfordern , sich die Mühe zu machen, eine Anti-Auto-Vervollständigungslösung zu implementieren, und was Benutzer mit Ihrer Site auf ihren Computern tun , liegt bei ihnen, nicht bei Ihnen. =)
David sagt, Monica
@DavidThomas - Danke für die Liste der Kompatibilität, konnte keine gute von caniuse, w3c oder anderswo finden. :) +1
Travis J
1
@EmmyS " Wir versuchen wirklich zu verhindern, dass Daten auf freigegebenen Computern gespeichert werden. " Der richtige Weg, dies zu tun, besteht darin, die Browser auf freigegebenen Computern korrekt einzurichten, damit sie zwischen den Sitzungen keine Informationen speichern.
Neugieriger
1
@curiousguy - Ja, das ist eine gute Idee, wenn Sie die Kontrolle über die gemeinsam genutzten Maschinen haben. Das haben wir in diesem Fall nicht getan.
EmmyS
37

Kennwortmanager ignorieren jetzt das autocompleteAttribut für passwordFelder in den wichtigsten Browsern ab:

Das Deaktivieren autocompletevon Formularfeldern sollte weiterhin einwandfrei funktionieren , wirkt sich jedoch nicht mehr auf den Kennwortmanager aus.

Manishearth
quelle
Das tut es nicht. Ich habe gerade getestet. Sogar zusätzlich autocomplete="false"auf dem Formularfeld platziert , neben einem, das auf dem Formularelement selbst vorhanden war. Keine Wirkung. Ich würde sagen, dass die automatische Vervollständigung von allen gängigen Browsern ignoriert wird.
Eugene
6

Ab Chrome v34 autocomplete="off"wird dies jetzt standardmäßig ignoriert.

Diese etwas umstrittene Funktion kann in der Flags-Konfiguration durch einen Besuch deaktiviert werden chrome://flags

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

ChrisAdmin
quelle
6
Beachten Sie, dass diese Änderung in Chrome nur Kennwortfelder betrifft . Nicht-Passwort-Felder berücksichtigen weiterhin das Attribut autocomplete = "off".
Jordan Rieger
4

Wenn Sie JavaScript und jQuery verwenden können, können Sie dies beim Laden des HTML-Codes platzieren:

$('#theform input').val('');
ITroubs
quelle
Dies wird in Joomla verwendet, das Mootools verwendet - es gibt Konflikte mit Mootools und JQuery, daher kann ich das nicht tun. Ich werde es jedoch für zukünftige Referenzzwecke berücksichtigen.
EmmyS
Unter Bezugnahme auf die Dokumentation zu mootools können Sie $$ ('. emptyThisInForm') ausführen. each (function (el) {el.value = '';});
ITroubs
1
Dieser Code bringt Kontrollkästchen und Optionsfelder durcheinander. Was eleganter sein kann, ist $('#theform')[0].reset(), es auf die im HTML angegebenen Standardwerte zurückzusetzen.
Gabe Martin-Dempesy
1
Um nur Passwortfelder zu beeinflussen, können Sie einen spezifischeren jQuery-Selektor verwenden, zum Beispiel:$( '#theform input:password' ).val('');
John Hascall
1

Mit Ausnahme von Maxthon Browser, denke ich, sind sie in China berühmt und machen sich jetzt weltweit einen Namen. Sie behandeln Autotocomplete = Off Power nicht sehr gut. Es wird nicht mit ihnen funktionieren.

Shockwave29
quelle
Ja, Maxthon wird nicht respektieren autocomplete=off, aber Sie können es zwingen, das Feld nicht automatisch zu ismxfilled='0'
vervollständigen,
0

Tatsächlich reagieren sowohl Benutzername- als auch Kennwortfelder in den neuesten Browsern nicht auf AutoComplete = off.

NixRam
quelle