Forzar autocompletar formulario guardar en iPad

1

Mientras que en algunos sitios web, iPad Safari solicita automáticamente guardar datos de formulario como Nosotros / Pwd, en otras páginas, nunca pide lo mismo.

¿Cómo podemos obligarlo a solicitar que se guarden los datos del formulario en cualquier sitio web?

    
pregunta hmthr 23.07.2011 - 18:50

1 respuesta

2

Agregue el siguiente bookmarklet al safari:

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)();

Necesitará saber cómo manipular un marcador existente para pegar este pequeño programa en el lugar donde un marcador normalmente tiene la URL. Así es exactamente como programas como Instapaper y Pocket y otros utilizan un bookmarklet (que en realidad es un programa almacenado como marcador) para cambiar o actuar en la página que está navegando actualmente.

Debido a que siempre debe sospechar un poco cuando alguien publica un programa para que lo ejecute, aquí hay una versión más clara que muestra que acabamos de recorrer todos los elementos y activamos ciegamente el autocompletado para cada uno.

Esto compensa a los desarrolladores web que olvidaron o intencionalmente no habilitaron el autocompletado.

El mismo script anterior, pero con un buen formato y sin el contenedor del marcador:

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.")
}
    
respondido por el Casemon 08.11.2011 - 16:38

Lea otras preguntas en las etiquetas