web-development-kb-pt.site

Posso desativar o preenchimento automático?

Recentemente, atualizei para o WordPress 3.0 e estou tendo muitos problemas com a função de preenchimento automático ao editar postagens via 'edição rápida' (por exemplo, /wp-admin/edit.php) - por exemplo, editando tags. A caixa de preenchimento automático oculta muitas vezes a caixa de texto na qual estou tentando inserir texto e às vezes fica "esquecida" assim que o botão "atualizar" é clicado.

Existe uma maneira de desativar o preenchimento automático?

UPDATE

Para esclarecer, este é um recursoWordpressautocomplete, não umbaseado em navegadorone.

ATUALIZAÇÃO 2

Parece que eu preciso remover o argumento "sugerir" para "load-scripts.php", referenciado na parte inferior de cada página de administração da seguinte forma:

<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>

Isso parece ser gerado por:

do_action('admin_print_footer_scripts');

mas eu perco a trilha do código nesse ponto - alguém?

3
Bobby Jack

Eu tenho uma solução que testei e funciona.

O preenchimento automático das tags é feito atualmente por meio de um pedido de ajax para o arquivo admin-ajax.php. A solução que sugiro é bloquear o processamento da solicitação para que ela não retorne nenhum resultado. Eu faria :

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');

A função anterior verifica:

  1. se é um pedido de ajax
  2. se o parâmetro de ação for 'ajax-tag-search'
  3. se a url do referer for a página '/wp-admin/edit.php'

Se essas três condições forem atendidas, nenhum resultado será retornado e as sugestões de tags não serão exibidas.

Se você quiser remover este autocomplete de todas as páginas, não apenas o 'wp-admin/edit.php', você pode fazer:

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

Eu sugiro que você olhe para o código de 'admin-ajax.php' para ver todos os parâmetros de 'ação' lá, assim, todos os pedidos de ajax que você pode matar com métodos similares.

Espero que minha explicação seja clara. Não hesite em me perguntar se você quer mais detalhes ou tem alguma dúvida.

Recompensa por mim? :)

5
sorich87

Você pode desabilitá-lo em seu navegador ou rotear em torno da fonte WP e aplicar esse atributo autocomplete na caixa ofensiva:

<input autocomplete="off" />

Alternativamente, você pode usar greasemonkey para modificar a página para desabilitar o preenchimento automático da maneira mencionada acima.

1
Ben Everard

Você pode usar este plugin:

Tag Uncomplete

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

É destinado a pessoas que têm um número muito grande de termos de tag, mas faz exatamente o que você quer

0
Tom J Nowell

Você pode desabilitar uma resposta do servidor, como sorich87 explicou , ou você pode tentar a maneira (mais complicada) de desabilitar o javascript que inicia a requisição AJAX. Se você simplesmente remover a biblioteca suggest , o variousplaces que chama a função suggest provavelmente falhará, você deve substituí-la por uma função stub que não faz nada.

0
Jan Fabry

Você pode passar attr no elemento html.

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

AutocompleteÉuma função do navegador, mas é um parâmetro de campo de entrada.

Se um site tiver que atender aos padrões de conformidade com PCI, ele FALHA PCI se o preenchimento automático estiver ativado nos campos de entrada - independentemente do navegador de qualquer pessoa.

0
Christopher Eller