¿Hay alguna manera de evitar que la extensión del navegador LastPass complete un formulario basado en HTML con un campo de entrada con el nombre "nombre de usuario"?
Este es un campo oculto, por lo que no quiero que ningún software use este campo para sus propósitos:
<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">
La solución no debería ser como "cambiar el nombre del campo de entrada".
type="hidden"
lugar de ocultarlo con CSS$(':input').attr('data-lpignore', true);
Eso es todo. Esto marcará el formulario de último paso completando todos los formularios.Respuestas:
Agregando
a un campo de entrada deshabilitó el cuadro gris [...] LastPass para mí.
Procedente de LastPass.com
fuente
Deben cumplirse dos condiciones:
autocomplete="off"
atributoSettings > Advanced > Allow pages to disable autofill
Entonces esto depende tanto del usuario como del desarrollador.
fuente
Lo que funcionó para mí es tener la palabra "-search-" en la identificación del formulario, algo así como
<form id="affiliate-search-form">
, y lastpass no agrega sus elementos en las entradas del formulario. Funciona con algo más simple como<form id="search">
pero no funciona con<form id="se1rch">
fuente
search
clases como nombre de usuario y contraseña deshabilitó el botón de asterisco en el campo de nombre de usuario, pero el campo de contraseña permanece como está.Sé que llego tarde a la fiesta aquí, pero encontré esto cuando estaba tratando de evitar que lastpass arruinara mis formularios. @takeshin es correcto porque el autocompletado no es suficiente. Terminé haciendo el truco a continuación solo para ocultar el símbolo. No es bonito, pero me deshice del ícono.
Si algún desarrollador de lastpass está leyendo esto, por favor denos un atributo para usar, para que no tengamos que recurrir a cosas como esta.
fuente
background-image
campo de entrada (me gusta poner "clear botones" en los campos de entrada) - en cuyo caso, lo que también trabajaron para mí se estaba poniendobackground-image
ybackground-position
con!important
anular el estilo incorporado LastPass.Creo que lastpass respeta el
autocomplete="off"
atributo de las entradas, pero no estoy 100% seguro.EDITAR Como otros han señalado. esto solo funciona si el usuario tiene la última pasada configurada para honrar esto.
fuente
autocomplete="off"
a nivel de formulario. Eso me desperdició una hora de tiempo de desarrollo en un formulario "editar usuario" que parecía mostrar la dirección de correo electrónico incorrecta. Las preferencias de último paso tienen la opción "no sobrescribir campos que ya están llenos", lo que ayuda mucho.Para mí trabajé bien, lo
type=search
que es un poco igualtext
o lo usorole=note
.Puede verificar el LastPass-JavaScript pero es enorme, puede encontrar alguna solución allí, por lo que vi, solo verifican 4 tipos de entrada, por
input type=search
lo que sería una solución alternativa:También esas son las
role
palabras clave que parecen ignorar:Verifiqué LastPass '
onloadwff.js
, me preparé para 26.960 líneas de código :)fuente
type=search
es lo único que funciona para mí.type=search
es la única forma de evitar el autocompletado, independientemente del estado de la configuración "Respetar autocompletar = apagado" de LastPass.role="note"
otype="search"
. Ninguno funcionó en el último Chrome y en el último lastpass.lpignore
está funcionando de nuevo, violín estohttps://jsfiddle.net/78z0L1sa/3/
Agregue "buscar" a la identificación de entrada
fuente
Llegué un poco tarde a la fiesta, pero acabo de lograr esto modificando el formulario con:
Supongo que esto hace que los tontos piensen que es un formulario de búsqueda. ¡Sin embargo, esto no funciona para los campos de contraseña! Lastpass ignora el campo de nombre en este caso.
La única forma en que he logrado hacer esto es agregar lo siguiente directamente en la parte superior del formulario:
Causa un parpadeo desagradable pero elimina las tonterías de autocompletar, aunque todavía muestra el widget "generar contraseña". LastPass espera hasta domready y luego verifica si hay campos de contraseña visibles, por lo que no es posible ocultar o reducir los campos simulados de arriba.
fuente
Para esta última versión con errores de Lastpass de octubre de 2019, esta solución simple parece ser la mejor.
Añadir
type="search"
a su entrada
La rutina lastpass verifica el
type
atributo para determinar qué hacer con su autocompletado, y no hace nada en este html5type
de "búsqueda". Claro que esto es ligeramente hacky, pero es un cambio de una línea que se puede eliminar fácilmente cuando arreglan su script con errores.Nota: después de hacer esto, su entrada puede parecer que algunos navegadores tienen un estilo diferente si se dan cuenta del
type
atributo. Si se observa esto, se puede evitar que suceda estableciendo las propiedades CSS específicas del navegador-webkit-appearance
y-moz-appearance
que'none'
en su entrada.fuente
Este código de estilo ES6 fue útil para mí ya que agregó data-lpignore a todos mis controles de entrada:
Para acceder a un control INPUT específico, se podría escribir algo como esto:
O bien, puede hacerlo por nombre de clase:
fuente
Ninguna de las opciones aquí (autocompletar, data-lpignore, etc.) impidió que LastPass rellene automáticamente mis campos de formulario por desgracia. Adopté un enfoque más complejo del problema y establecí asincrónicamente los
name
atributos de entrada a través de JavaScript. La siguiente función dependiente de jQuery (invocada desde el controlador de eventos onsubmit del formulario) hizo el truco:En el formulario, simplemente usé
tmp-name
atributos en lugar de losname
atributos equivalentes . Ejemplo:Actualizar 2019-03-20
Todavía me encontré con dificultades con lo anterior debido a AngularJS dependiendo de los campos de formulario que tienen
name
atributos para que ngMessages presente correctamente los mensajes de error de validación de campo.Finalmente, la única solución que pude encontrar para evitar que LastPass llene los campos de contraseña en mi formulario de Cambio de contraseña fue:
input[type=password]
completo, YComo necesito poder enviar el formulario normalmente en mi caso, aún empleé mi solución original para actualizar los nombres de campo 'justo a tiempo'. Para evitar el uso de campos de ingreso de contraseña, encontré que esta solución funcionó muy bien.
fuente
Intenté el cambio de nombre de búsqueda, pero por alguna razón eso no funcionó. Lo que funcionó para mí es lo siguiente:
Probado y probado en las últimas versiones de FF y Chrome.
fuente
Esto es lo que funcionó para mí para evitar que lastpass llene una caja de afeitar @ Html.EditorFor en Chrome:
Haga clic en el icono activo de LastPass en su barra de herramientas, luego vaya a Opciones de cuenta> Preferencias de extensión.
En esta pantalla, marque "No sobrescribir campos que ya están rellenos" (en la parte inferior)
A continuación, haga clic en "avanzado" a la izquierda.
En esta pantalla, marque "Respetar Autocompletar = desactivado: permitir que los sitios web desactiven el Autocompletar".
No necesitaba hacer nada especial en mi formulario ASP cshtml pero tenía un valor predeterminado en el formulario para el cuadro @ Html.EditorFor.
Espero que esto ayude y funcione para alguien. No pude encontrar ninguna ayuda específica de Razor sobre este problema en la web, así que pensé en agregar esto ya que lo descubrí con la ayuda del enlace y las contribuciones anteriores.
fuente