Erzwingen Sie die automatische Vervollständigung des Formularspeichers auf dem iPad

Während iPad Safari auf einigen Websites automatisch darum bittet, Formulardaten wie Us/Pwd zu speichern, fragt es auf anderen Seiten nie danach.

Wie können wir es zwingen, auf jeder Website nach Formulardaten zu fragen?

Antworten (1)

Fügen Sie Safari das folgende Bookmarklet hinzu:

javascript:(function()%7Bvar%20ca,cea,cs,df,dfe,i,j,x,y;function%20n(i,what)%7Breturn%20i+%22%20%22+what+((i==1)?%22%22:%22s%22)%7Dca=cea=cs=0;df=document.forms;for(i=0;i%3Cdf.length;++i)%7Bx=df%5Bi%5D;dfe=x.elements;if(x.onsubmit)%7Bx.onsubmit=%22%22;++cs;%7Dif(x.attributes%5B%22autocomplete%22%5D)%7Bx.attributes%5B%22autocomplete%22%5D.value=%22on%22;++ca;%7Dfor(j=0;j%3Cdfe.length;++j)%7By=dfe%5Bj%5D;if(y.attributes%5B%22autocomplete%22%5D)%7By.attributes%5B%22autocomplete%22%5D.value=%22on%22;++cea;%7D%7D%7Dalert(%22Removed%20autocomplete=off%20from%20%22+n(ca,%22form%22)+%22%20and%20from%20%22+n(cea,%22form%20element%22)+%22,%20and%20removed%20onsubmit%20from%20%22+n(cs,%22form%22)+%22.%20After%20you%20type%20your%20password%20and%20submit%20the%20form,%20the%20browser%20will%20offer%20to%20remember%20your%20password.%22)%7D)();

Sie müssen wissen, wie man ein vorhandenes Lesezeichen manipuliert, um dieses kleine Programm an der Stelle einzufügen, an der ein Lesezeichen normalerweise die URL hat. Genau so verwenden Programme wie Instapaper und Pocket und andere ein Bookmarklet (das eigentlich ein als Lesezeichen gespeichertes Programm ist), um die Seite, die Sie gerade durchsuchen, zu ändern oder darauf zu reagieren.

Da Sie immer ein wenig misstrauisch sein sollten, wenn jemand ein Programm postet, das Sie ausführen sollen, ist hier eine klarere Version, die zeigt, dass wir einfach alle Elemente durchlaufen und blindlings die automatische Vervollständigung für jedes aktivieren .

Dies entschädigt für Webentwickler, die die automatische Vervollständigung vergessen oder absichtlich nicht aktiviert haben.


Dasselbe Skript wie oben, aber schön formatiert und ohne den Bookmarklet-Wrapper:

function () {
    var ca, cea, cs, df, dfe, i, j, x, y;

    function n(i, what) {
        return i " "
        what((i == 1) ? "" : "s")
    }
    ca = cea = cs = 0;
    df = document.forms;
    for (i = 0; i < df.length; i) {
        x = df[i];
        dfe = x.elements;
        if (x.onsubmit) {
            x.onsubmit = "";
            cs;
        }
        if (x.attributes["autocomplete"]) {
            x.attributes["autocomplete"].value = "on";
            ca;
        }
        for (j = 0; j < dfe.length; j) {
            y = dfe[j];
            if (y.attributes["autocomplete"]) {
                y.attributes["autocomplete"].value = "on";
                cea;
            }
        }
    }
    alert("Removed autocomplete=off from "
    n(ca, "form")" and from "
    n(cea, "form element")", and removed onsubmit from "
    n(cs, "form")". After you type your password and submit the form, the browser will offer to remember your password.")
}
Können Sie erklären, was der Zweck des Bookmarklets ist, wie es funktioniert? Dies würde dazu beitragen, die Bedenken potenzieller Benutzer zu verringern, ein Bookmarklet aus einer mehr oder weniger anonymen Quelle zu laden.
Ja sicher ... ich würde auch gerne verstehen, wie man das benutzt ...