it-swarm-es.com

¿Puedo deshabilitar el auto completado?

Recientemente he actualizado a WordPress 3.0 y tengo muchos problemas con la función de autocompletar cuando edito publicaciones a través de "edición rápida" (por ejemplo, /wp-admin/edit.php), por ejemplo, editando etiquetas. El cuadro de autocompletar a menudo oculta el cuadro de texto en el que estoy tratando de ingresar texto y, a veces, se 'deja atrás' una vez que se hace clic en el botón 'actualizar'.

¿Hay alguna manera de deshabilitar el autocompletado?

ACTUALIZACIÓN

Para aclarar, esta es una característica deWordpressautocompletar, no unabrowser-basedone.

ACTUALIZACIÓN 2

Parece como si tuviera que eliminar el argumento 'sugerir' a "load-scripts.php", al que se hace referencia en la parte inferior de cada página de administración, así:

<script type='text/javascript'
  src='http://www.example.com/path/to/wordpress/wp-admin/load-scripts.php?c=1&amp;load=hoverIntent,common,jquery-color,suggest,inline-edit-post'>
</script>

Eso parece ser generado por:

do_action('admin_print_footer_scripts');

pero pierdo el rastro del código en ese punto, ¿alguien?

3
Bobby Jack

Tengo una solución que he probado, y funciona.

El autocompletado de las etiquetas se realiza actualmente mediante una solicitud ajax al archivo admin-ajax.php. La solución que sugeriría es bloquear el procesamiento de la solicitud para que no devuelva ningún resultado. Yo lo haría :

function no_tag_suggest() {
    if( DOING_AJAX == true && $_GET['action'] == 'ajax-tag-search' && $_SERVER['HTTP_REFERER'] == admin_url( 'edit.php' ) ) {
        die;
    }
}    
add_action('admin_init', 'no_tag_suggest');

La función anterior verifica:

  1. si es una solicitud ajax
  2. si el parámetro de acción es 'ajax-tag-search'
  3. si la URL del remitente es la página '/wp-admin/edit.php'

Si se cumplen estas 3 condiciones, no se devolverá ningún resultado y no se mostrarán las sugerencias de etiquetas.

Si desea eliminar este autocompletado de todas las páginas, no solo 'wp-admin/edit.php', puede hacerlo:

function no_tag_suggest() {
    if( DOING_AJAX == true && $_GET['action'] == 'ajax-tag-search' ) ) {
        die;
    }
}    
add_action('admin_init', 'no_tag_suggest');

Le sugiero que mire el código de 'admin-ajax.php' para ver todos los parámetros de 'acción' allí, por lo tanto, todas las solicitudes de ajax que puede eliminar con métodos similares.

Espero que mi explicación haya sido clara. No dudes en preguntarme si quieres más detalles o tienes alguna pregunta.

¿Recompensa por mi? :)

5
sorich87

Puede deshabilitarlo en su navegador o enrutar alrededor de la fuente WP y oprimir este atributo autocomplete en el cuadro ofensivo:

<input autocomplete="off" />

Alternativamente, puede usar greasemonkey para modificar la página para deshabilitar el autocompletado de la manera mencionada anteriormente.

1
Ben Everard

Puedes usar este plugin:

Etiqueta incompleta

http://wordpress.org/extend/plugins/tag-uncomplete/

Está dirigido a personas que tienen una gran cantidad de términos de etiqueta, pero hace exactamente lo que usted desea.

0
Tom J Nowell

Puede deshabilitar una respuesta del servidor, como lo explica sorich87 , o puede intentar la forma (más complicada) de deshabilitar el javascript que inicia el AJAX solicitud. Si solo elimina la biblioteca suggest , la variaslos lugares que llaman a la función suggest probablemente fallarán, por lo que debe reemplazarlo con una función de código auxiliar que no haga nada.

0
Jan Fabry

Puede pasar attr en el elemento html.

$('#register_username').attr('autocomplete','off');
0
user57366

Autocompletar ES una función del navegador pero es un parámetro de campo de entrada.

Si un sitio web debe cumplir con los estándares de cumplimiento de PCI, FALLARÁ PCI si el autocompletar está activado en los campos de entrada, independientemente del navegador de cualquier persona.

0
Christopher Eller