Después de enviar el formulario en el navegador, el navegador generalmente le preguntará "¿Necesita recordar la contraseña?" Después de la confirmación, ciertos cuadros de entrada se completarán automáticamente la próxima vez que envíe el formulario.
Sin embargo, en algunos escenarios (como en páginas de retiro y recarga), completar contraseñas automáticamente es muy inseguro. Se necesitan algunos medios para evitar que el navegador se autocompleta.
Encontré algunos errores durante el proceso de solución. Aquí hay algunas notas:
Dado que la función de autocompletar la implementa el propio navegador, el atributo de autocompletar no se ha escrito en la especificación W3C. Muchos navegadores simplemente ignorarán este atributo. El autocompletar no se puede desactivar.
Es natural pensar en una forma de usar js para establecer el valor de entrada en vacío cuando se carga la página, pero el autocompletado del navegador en realidad se completa después de ejecutar js. . . Después de usar js para establecer el valor de la entrada como vacío, el navegador llenó automáticamente la entrada, lo que no pudo resolver el problema.
Un método que circula ampliamente en Internet. Este método es factible en la mayoría de las versiones de navegadores, pero no funciona en algunas versiones superiores de navegadores ni en Safari. Varios métodos introducidos más adelante se basan en mejoras de este método.
<!-- Entrada adicional --> <tipo de entrada="contraseña" estilo="display:none"/> <!-- Entrada original --> <tipo de entrada="contraseña"/>
Este método resuelve el problema del llenado automático en Safari en comparación con el anterior. Pero no funciona en algunas versiones superiores de Chrome. (Después de la prueba, Chrome 46.0 funciona, Chrome 47.0 falla)
<!-- Formulario y entrada adicionales --> <estilo de formulario="display:none"> <tipo de entrada="contraseña"/> </formulario> <!-- Entrada original --> <tipo de entrada="contraseña"/>
Esta solución combina los dos métodos anteriores y finalmente resuelve el problema del llenado automático en Chrome 47.0.
<!--Contenido adicional--> <estilo de formulario="display:none"> <tipo de entrada="contraseña"/> </formulario> <tipo de entrada="contraseña" estilo="ancho:0;alto:0;float:left;visibilidad:oculto"/> <!-- Entrada original --> <tipo de entrada="contraseña"/>
Lo que hay que tener en cuenta en este método es que la entrada que es de la misma generación que la entrada de destino no se puede configurar para mostrar: ninguna. Si está configurada, se completará automáticamente en Chrome 47.0, por lo que solo puede usar otros medios. para ocultar esta entrada.
Después de usar la última solución, funciona bien en varios navegadores y por el momento no se encuentra ningún llenado automático. Efectivamente, los problemas de compatibilidad de front-end siempre han sido algo repugnante. .
Con esto concluye este artículo sobre cómo HTML resuelve el problema de recordar los cuadros de entrada de contraseñas en los navegadores. Para obtener más información sobre cómo recordar los cuadros de entrada de contraseñas en HTML, busque artículos anteriores en downcodes.com o continúe explorando los artículos relacionados a continuación. downcodes.com ¡más en el futuro!