Autocompletar off vs false?


Recientemente me he encontrado con un problema en el que quería desactivar el autocompletado en todos los navegadores.

Chrome tiene una nueva función en la configuración donde se puede agregar un número de tarjeta. Y el requisito era también desactivar eso.

Lo que funcionó en todos los navegadores fue hacer esto autocomplete=false a nivel de formulario.

Pero esto no es compatible con las reglas w3, donde imponen tener autocomplete=off|on.

¿Puede alguien por favor explicarme por qué funciona falso en todos los navegadores?

Incluso ie8, todo firefox, safari, etc. Pero no es obediente.

Author: Cross2004, 2015-05-05

4 answers

Tienes razón. Establecer el atributo autocompletar en " off " no deshabilita el autocompletar de Chrome en versiones más recientes de Chrome.

Sin embargo, puede configurar autocompletar a cualquier cosa además de "on" o "off" ("false", "true", "nofill") y deshabilitará el autocompletar de Chrome.

Este comportamiento es probablemente porque el atributo autocompletar espera un valor "on" o "off" y no hace nada si le das otra cosa. Así que si le das algo más que esos valores, autocompletar se desmorona/no hace nada.

Con la versión actual de Chrome se ha encontrado que establecer el atributo autocompletar a " off " en realidad funciona ahora.

Además, he encontrado que esto solo funciona si establece el atributo autocompletar en cada etiqueta <input> del formulario.

Ha habido una respuesta a esta ambigüedad en las listas de errores de Chromium aquí.

Descargo de responsabilidad: Esto se encontró que era cierto en la versión de Chrome 47.0.2526.106 (64-bit)

 14
Author: camiblanch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-15 19:29:36

Uso autocomplete = "my-field-name" en lugar de autocomplete = "off" . Tenga cuidado con cómo lo llama, ya que algunos valores todavía se reconocen como autocomplete = "país". También descubrí que usar el atributo placeholder ayudó en algunos escenarios difíciles.

Ejemplo: <input type="text" name="field1" autocomplete="my-field-name1" placeholder="Enter your name">

Chrome recientemente dejó de usar autocomplete = "off" porque pensaron que fue utilizado en exceso por los desarrolladores que no pusieron mucho pensamiento en si o no el formulario debe autocopmlete. Por lo tanto, eliminaron el método antiguo y nos hicieron usar uno nuevo para asegurarnos de que realmente no queremos que se autocomplete.

 1
Author: blairzotron,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-23 13:10:38
$("#selector").attr("autocomplete", "randomString");  

Esto ha funcionado de manera confiable cada vez para mí.

Nota: He invocado este LOC en evento modal show.

 0
Author: Kishor Pawar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-11 07:31:50

Como una adición a @camiblanch respuesta

Añadiendo autocomplete="off" no va a ser suficiente.
Cambie el atributo de tipo de entrada a type="search".
Google no aplica relleno automático a entradas con un tipo de búsqueda.

 -3
Author: Matas Vaitkevicius,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:03:07