edelwater
  • 0
Гуру

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

  • 0

Я недавно обновился до 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');

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

Share
  1. Автозаполнение — это функция самого браузера, поэтому знание того, какой браузер (и какую версию) вы используете, поможет…

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

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

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

    Награда за меня? 🙂

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

    <input autocomplete="off" />
    

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

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

    Тег незавершенный

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

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

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

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

    $('#register_username').attr('autocomplete','off');
    
    • 0
  7. Автозаполнение это функция браузера, но это параметр поля ввода.

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

    • 0

Оставить ответ

You must login to add an answer.