Browser-Hersteller wie die Mozilla-Foundation oder Google wissen oft besser als
Webseiten-Anbieter und die Nutzer des Browsers, was gut für diese ist,
und setzen sich über deren Wünsche hinweg. Thou shalt have no god beside me
oder so.
Ein Beispiel ist das Attribut
auf Formular-Feldern, das festlegt, dass diese Felder nicht vom Browser vorausgefüllt werden
dürfen: Auf Passwort-Feldern ignorieren Firefox und Chrome dieses Attribut.
autocomplete="off"
Möchte man nicht, dass der Browser Login-Daten automatisch ausfüllt, muss man also dafür sorgen, dass dieser die Login-Daten erst gar nicht speichert. Doch auch das ist einfacher gesagt als getan.
Lösungsweg.
Das Skript
no-password-save.js
kopiert beim Klick auf ein <button>
oder <input>
vom Typ
Namen und Inhalt des Passwortfeldes in ein neu
geschaffenes type="submit"
-Feld und löscht dann Name und Inhalt des
Passwortfeldes. Das Formular enthält so die gleichen Daten wie vor der Manipulation,
aber kein Passwort-Feld mit nutzbarem Inhalt mehr. Damit erscheint beim Abschicken auch kein
type="hidden"
Zugangsdaten speichern
-Dialog.
Das Passwort-Feld muss leider bereits beim Klick auf einen Abschick-Knopf versteckt werden.
Sauberer wäre das
-Event, doch hat der Browser da bereits die
Feld-Typen, -Namen und -Werte eingefroren.
onsubmit
Für den Fall, dass das Senden des Formulars abgebrochen wird (z.B. durch ein leeres Feld mit
-Attribut), wird das jetzt leere Passwort Feld beim Erhalt des
Fokus wieder mit den Daten aus dem Hidden-Field gefüllt, und das Hidden-Field entfernt.
required
Formular mit unterdrücktem Zugangsdaten speichern
-Dialog
Query:
Normales Formular
Query:
Es gibt diese Seite mit minimalem HTML-Code, außerdem das Komplettpaket no-password-save.zip zum auf dem eigenen Rechner oder Server auspacken und damit herumspielen.