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


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

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

ОБНОВЛЕНИЕ

Чтобы уточнить, это Wordpress функция автозаполнения, а не браузерная.

ОБНОВЛЕНИЕ 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');

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

Author: Brad Dalton, 2010-08-11

6 answers

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

Автозаполнение тегов в настоящее время выполняется с помощью 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"
  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 "чтобы увидеть там все параметры "действия", таким образом, все запросы ajax вы можете убить аналогичными методами.

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

Награда за меня?:)

 5
Author: sorich87, 2010-09-05 12:44:43

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

<input autocomplete="off" />

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

 1
Author: Ben Everard, 2010-08-12 08:10:46

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

Тег Не заполнен

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

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

 0
Author: Tom J Nowell, 2010-09-03 09:22:28

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

 0
Author: Jan Fabry, 2017-04-13 12:37:38

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

$('#register_username').attr('autocomplete','off');
 0
Author: user57366, 2014-08-07 12:59:37

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

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

 0
Author: Christopher Eller, 2015-12-15 18:42:50