Esta versión del código tenía bastante código redundante que se podía abreviar cuando se crean los campos de texto del login o de cambiar contraseña. Eso fue lo que hice. El resultado es que ahora el Bookmarklet solo ocupa 3.59Kb, y originalmente ocupaba 5.8 Kb. El espacio restante se puede aprovechar para seguir introduciendo mejoras sin afectar el espacio porque ahora se puede reusar. Solo hace falta ver si funciona bien, aunque debería:
{http://devel.no-ip.org/tmp/NoTecladoVirtual.html}
{http://devel.no-ip.org/tmp/NoTecladoVirtual.html}
Sobre el codigo redundante,solo dire que la prioridad era eliminar el teclado virtual, y luego optimizar.Asi que la fase de refactorizar es la que continua, gracias por empezar
- ¿Por qué se vuelven a generar los valores de las teclas del teclado virtual? ¿No se podría simplemente eliminar esa parte? ¿O es porque se vuelven a mandar al servidor como verificación de validación?
Al servidor del banco agricola a parte del password "plano" se envia el password encriptado con algun algoritmo que desconozco, cada letra tomar un valor hash. El teclado virtual lo que hace es precisamente eso, crear el password encriptado. Sino envias ese hash sencillamente el login falla asi que por eso se vuelven a generar.
- ¿Dónde hay alguna explicación que deje claro lo que estos valores ocultos contienen y lo que está haciendo el código que genera estos valores? Además de que esa es la mayor parte del código. Hace falta una versión del código con comentarios, aparte de esta versión "compilada".
Mañana espero tomarme un rato para documentar el codigo, la primera vez que publique el script en mi blog puse una explicacion mas tecnica, pero esa entrada la he perdido, asi que volvere a explicarlo.
- ¿Qué es lo que representa la variable ifr? Parece que solo es para ver si la dirección actual es https://www.pcbac.com/PotalaPersonal/home.do (¿el formulario de Cambiar Contraseña?), mientras que la dirección de login es https://www.pcbac.com/PotalaPersonal/login.do.
ifr viene de iframe o frame, es una variable que utilizo para determinar si estoy en la pantalla de login o si ya me encuentro dentro de la aplicacion del banco agricola, te cuento que el sitio del agricola esta creado con frames, un header, un menu a la izquierda y la pantalla principal, son como tres frames. Asi que cuando se cargan las opciones se hace en el frame principal y la direccion no cambia, asi que para saber si estoy en el login o la opcion de cambio de password (que es el otro lado donde esta el teclado) solo valido la url en la que me encuentro.
- ¿Por qué es necesaria la función copyText? ¿Y en cuanto a los valores ocultos que maneja?
copyText sencillamente lo que hace es que el texto plano del pass o user lo convierte al hash (luego ampliare esta explicacion tan vaga)
- Hasta ahora en lo personal he estado ayudando sin tener una cuenta en este banco. ¿Qué necesito para poder tener una cuenta de ebanca para poder probar yo mismo cambios que haga al Bookmarklet? ¿Es suficiente con una tarjeta como la chequeMax o equivalente, o hay que pagar mensualmente por usar la ebanca?
Si tenes cuenta de chequemax solo te acercas una agencia y ahi creas el usuario de ebanca.
Bueno me tomare un momento el dia de mañana para dar una explicacion mas tecnica y detallada de todo el codigo, para responder mas satisfactoriamente las preguntas del compañero.
El resultado es que no funciona... Algo así como que el código redundante según tu apreciación, no era tan redundante que digamos
Si hay codigo redundante y ya se a que se refiere
ya vere de hacer la mejora al codigo. Y leyendo el codigo del compañero creo que se porque no funciona, pero aun no estoy seguro si es por eso, en cuanto pueda hago la observacion.