Wie trigger, gespeicherte Passwort autofill im Browser?
Ich habe eine web-Anwendung, geschrieben in reinem JavaScript (keine pre-generierten HTML-außer für das Dokument lädt alle JS-Dateien).
Diese app enthält ein login-Formular, welches dynamisch erzeugt wird, wenn das Dokument.ready-Ereignis-Ereignis ausgelöst wird. Ich trick den browser in die Anzeige der "Kennwort speichern?" - dialog durch die Veröffentlichung des login-Formulars in ein verstecktes iframe, bevor Sie sich einloggen mit ajax (in Firefox das Passwort wird auf das gespeicherte Passwort-Liste, so dass dieser Teil offensichtlich funktioniert), aber die gespeicherten Passwörter nie ausgefüllt, nachdem der login-Bildschirm geladen wird zu einem späteren Zeitpunkt erneut. Das gleiche passiert im Firefox und Safari.
Gibt es etwas, was ich tun kann, oder eine Funktion, die ich anrufen kann, um trigger-autofill?
UPDATE: autofill funktioniert in Safari auf die erste Seite zu laden, aber nicht, wenn Benutzer sich abmeldet und das login-Formular wird neu erstellt, ohne eine Seite neu laden. In Firefox funktioniert es nie.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zusätzlich wickeln Sie die Formular-Elemente in einer
form
element, stellen Sie sicher, dass alle Eingabe - (und vielleicht sogar die form) hatname
undid
Attribute nicht ändern. Der name sollte wohl etwas beschreibenden wiepassword
für das Passwort usw., nicht wirklich sicher, bis zu welchem Grad-Browser verwenden diese Informationen, aber "autosuggest"/"Zauberstab" - Funktionen funktionieren möglicherweise besser, wenn Sie ein standard-name.Und natürlich sollte man sicherstellen, dass man nicht irgendwelche autosuggest/autofill-Attribute auf false (das js-framework möglicherweise tun aus irgendeinem Grund, wenn Sie eine).
Eine Dritte Möglichkeit ist, dass einige Browser, vielleicht funktioniert die automatische Füllfunktion, bevor das Skript lädt und schreibt die form auf der Seite, versuchen Sie, eine statische html-version des Formulars und sehen, ob , dass funktioniert.
Ist die einfachste Lösung (wenn statische Formen der Arbeit) ist die Kraft, die ein Neuladen der Seite auf logout (Sie wahrscheinlich nicht wollen, zu verwerfen, der "Zustand" der laufende javascript-Code nach dem log-out-jedenfalls, so erfrischend ist wirklich eine Gute Sache)
Einige Browser erfordern das "form" - tag, um die lokale Benutzername & Passwort-Speicher. Hatte das gleiche problem in AJAX-Anwendung, und in meinem Fall habe ich nur noch
tags.
Können Sie nicht verwenden einen ähnlichen trick - verwenden Sie einen iframe zu laden, der form und dann, wenn das login-Formular abgeschickt wird, die Sie in Wirklichkeit haben, senden Sie den iframe-form , enthält das gespeicherte Passwort.
Bekommen, das 'Passwort' zu erscheinen, in der die sichtbare form, die ich denke, Sie könnte Messen Sie die Länge des Passworts in das iframe-Formular und füllen Sie dann die sichtbare form ist Passwort-Feld mit der gleichen Anzahl von *.