it-swarm.xyz

Можно ли отключить автозаполнение?

Я недавно обновился до WordPress 3.0, и у меня много проблем с функцией автозаполнения при редактировании сообщений с помощью "быстрого редактирования" (например, /wp-admin/edit.php) - например, при редактировании тегов. Поле автозаполнения часто скрывает текстовое поле, в которое я пытаюсь ввести текст, и иногда становится "оставленным позади" после нажатия кнопки "обновить".

Есть ли способ отключить автозаполнение?

ОБНОВЛЕНИЕ

Для пояснения, это Wordpress функция автозаполнения, а не на основе браузера one.

ОБНОВЛЕНИЕ 2

Похоже, мне нужно удалить аргумент "предложить" в "load-scripts.php", на который ссылаются внизу каждой страницы администратора, примерно так:

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

Это, кажется, генерируется:

do_action('admin_print_footer_scripts');

но я теряю след кода в этот момент - кто-нибудь?

3
Bobby Jack

У меня есть решение, которое я протестировал, и оно работает.

Автозаполнение для тегов в настоящее время выполняется через ajax-запрос к файлу admin-ajax.php. Решение, которое я бы предложил, состоит в том, чтобы заблокировать обработку запроса, чтобы он не возвращал никакого результата. Я бы сделал :

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

Предыдущая функция проверки:

  1. если это запрос AJAX
  2. если параметром действия является "ajax-tag-search"
  3. если URL-адрес ссылается на страницу /wp-admin/edit.php

Если эти 3 условия соблюдены, результат не будет возвращен, а предложения тегов не отображаются.

Если вы хотите удалить это автозаполнение со всех страниц, а не только с "wp-admin/edit.php", вы можете сделать:

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

Я бы посоветовал вам взглянуть на код 'admin-ajax.php', чтобы увидеть там все параметры 'action', таким образом все запросы ajax вы можете убить с помощью аналогичных методов.

Я надеюсь, что мое объяснение было ясно. Не стесняйтесь спрашивать меня, если вы хотите получить более подробную информацию или есть какие-либо вопросы.

Баунти для меня? :)

5
sorich87

Вы можете либо отключить его в своем браузере, либо обойти вокруг источника WP и ​​добавить этот атрибут autocomplete в поле обидчика:

<input autocomplete="off" />

В качестве альтернативы вы можете использовать greasemonkey, чтобы изменить страницу, чтобы отключить автозаполнение, как указано выше.

1
Ben Everard

Вы можете использовать этот плагин:

Пометить как неполное

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

Он предназначен для людей, которые имеют очень большое количество терминов тегов, но он делает именно то, что вы хотите

0
Tom J Nowell

Вы можете отключить ответ от сервера, как объяснил sorich87 , или вы можете попробовать (более сложный) способ отключить JavaScript, который запускает запрос AJAX. Если вы просто удалите библиотеку suggest , различныеplace , которые вызывают функцию suggest, вероятно, потерпит неудачу, поэтому вы должны заменить ее функцией-заглушкой, которая ничего не делает.

0
Jan Fabry

Вы можете передать attr в элемент html.

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

АвтозаполнениеЭТОфункция браузера, но это параметр поля ввода.

Если веб-сайт должен соответствовать стандартам соответствия PCI, он будет ОТКАЗАТЬ PCI, если автозаполнение включено в полях ввода - независимо от чьего-либо браузера.

0
Christopher Eller