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?




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

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.


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


4

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

$('#theform input').val('');

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.


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.