Как использовать клавиатуру для навигации по результатам поиска Google (теперь, когда мгновенный поиск не работает) [дубликат]


51

На этот вопрос уже есть ответ здесь:

На сегодняшний день Google Instant Search мертв , Вот как это выглядело раньше:

https://www.youtube.com/watch?v=ANVT56wlmTo

Я никогда не заботился о мгновенном отображении результатов во время набора текста. Тем не менее, я использовал сотни раз в день, сочетания клавиш это позволяло.

Для тех, кто никогда не использовал его - с включенным мгновенным поиском вы могли бы:

  • Нажмите ввод после поиска и используйте клавиши вверх / вниз для перемещения «указателя» вниз по результатам

  • Затем нажмите «Ввод», чтобы открыть результат поиска, на который указывают

  • В любой момент времени ввод букв / цифр на клавиатуре будет переориентироваться на строку поиска.

  • Нажатие ввода с выделенным результатом может быть объединено с модификатором ctrl, чтобы открыть результат в новой вкладке.

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

Предыдущие вопросы задавали (и получали ответы) в эпоху мгновенного поиска (например, этот , этот и мой предыдущий вопрос Вот ), в то время как я ищу замену без Google с той же функциональностью.

Я использую Chrome на Ubuntu 15.01.


2
Вы правильно помните, раньше все работало нормально. Кажется, это ушло вместе с мгновенный поиск , searchengineland.com/... , Но вы уверены, что мгновенный поиск все еще работает для вас? Для меня это не делает поиск, прежде чем я нажимаю ввод больше. (Мне нравится такое поведение, но я хочу, чтобы маленькая голубая стрелка вернулась назад, как и вы.)
Bloke

1
это очень разочаровывает .... кажется, что горячая клавиша для использования '/' для возврата к панели поиска также исчезла с мгновенным поиском
itzjustricky

3
В той же позиции, что и вы. Это самая странная веб-страница на планете, которая испортила этот простой дизайн UX. Я уверен, что скрипт greasemonkey / tampermonkey мог бы работать, но не самое желаемое решение.
Kable

Вы все еще можете перемещаться по результатам поиска, используя клавишу Tab.
Seth

2
chrome.google.com/webstore/detail/keyboard-shortcuts-for-go/... Этот работает отлично из коробки для меня! Хром только обви.
Thalassophobia

Ответы:


23

Google удалил эту функцию (она называется Google Instant Prediction), поэтому вы не можете просто отключить ее, как раньше.

Мне было так грустно видеть эту функцию, что я написал хак, чтобы перепроектировать ее прошлой ночью. Пока что он работает только с Google Chrome, но может быть адаптирован для работы со всеми остальными:

  1. Установите расширение Chrome ShortKeys ,
  2. Нажмите на меню ShortKeys и выберите «Опции» enter image description here
  3. Нажмите «Добавить» и заполните следующие поля:

Сочетание клавиш: табуляция

Поведение: Запустить JavaScript

Маркировать как: Выбор результатов

  1. Вставьте следующий JavaScript в Код JavaScript для запуска:

    document.selectedResultId=0
    function selectResult(newId){
        els = document.querySelectorAll("div.r h3")
        if(newId < 0 || newId >= els.length)
            return  //Could modify for page nav...?
        rp = document.getElementById("result-pointer")
        if(rp != null){
            rp.remove()
        }
        document.selectedResultId=newId
        el = els[newId]
        lnk = el.firstElementChild
        el.innerHTML = "<div id=\"result-pointer\" style=\"position:absolute;left:-15px;\">&gt;</div>" + el.innerHTML
        lnk.focus()
    }
    document.onkeyup=function(event){
        if(event.keyCode==38)
            selectResult(document.selectedResultId-1)
        if(event.keyCode==40)
            selectResult(document.selectedResultId+1)
        if(event.keyCode==13){
          var el = document.querySelectorAll("div.r h3")[document.selectedResultId]
          var lnk = el.parentElement
          var url = lnk.href
          if(event.ctrlKey){
            var win = window.open(url,"_blank")
            win.blur()
            window.open().close()
          }
          else{
            document.location = url
          }
        }
    }
    selectResult(0)
    
  2. Настройте Настройки активации :

Активен в полях формы (Проверено)

Веб-сайты (Только конкретные сайты)

URL-адреса (по одному на строку) : * .google. *

Вот как должна выглядеть страница настроек

ShortKeys Options Page

  1. Нажмите Сохранить, а затем закройте браузер.

Инструкции:

  • При перезапуске вы должны увидеть синий значок "& gt;" появляться при поиске результаты, когда вы нажмете вкладку.

  • Клавиши со стрелками вверх / вниз позволяют переключаться между результатами.

  • Нажав «Enter», вы перейдете к выделенному результату.

  • Нажмите Ctrl + Enter, чтобы открыть результат в новой вкладке.

Удачного поиска!


12

Я создал расширение Chrome, которое добавит функциональность основной клавиатуры (которую я использовал по крайней мере). Если окно поиска не сфокусировано, нажатие любой клавиши автоматически сфокусирует его. Кроме того, клавиши со стрелками и tab / shift + tab позволят вам перемещаться между результатами. Надеюсь, это поможет нам оставаться продуктивными, пока Google (надеюсь) не вернет эту функциональность обратно.

https://chrome.google.com/webstore/detail/google-search-result-keyb/iobmefdldoplhmonnnkchglfdeepnfhd?hl=en&gl=US

Вот код для расширения на тот случай, если вы захотите его отредактировать:

(function() {
  'use strict';

  var isResultsPage = document.querySelector('html[itemtype="http://schema.org/SearchResultsPage"]');
  if (!isResultsPage) {
    return;
  }

  var searchbox = document.querySelector('form[role="search"] input[type="text"]:nth-of-type(1)'),
      results = document.querySelectorAll('h3 a'),
      KEY_UP = 38,
      KEY_DOWN = 40,
      KEY_TAB = 9;

  function focusResult(offset) {
    var focused = document.querySelector('h3 a:focus');

    // No result is currently focused. Focus the first one
    if (focused == null) {
      results[0].focus();
    }
    else {
      for (var i = 0; i < results.length; i++) {
        var result = results[i];
        if (result === focused) {
          var focusIndex = i + offset;
          if (focusIndex < 0) focusIndex = 0;
          if (focusIndex >= results.length) focusIndex = results.length - 1;
          results[focusIndex].focus();
        }
      }
    }
  }

  window.addEventListener('keydown', function(e) {
    e = e || window.event;

    var isSearchActive = searchbox === document.activeElement,
        keycode = e.keyCode,
        // From https://stackoverflow.com/questions/12467240/determine-if-javascript-e-keycode-is-a-printable-non-control-character
        isPrintable = (keycode > 47 && keycode < 58)   || // number keys
                      (keycode > 64 && keycode < 91)   || // letter keys
                      (keycode > 95 && keycode < 112)  || // numpad keys
                      (keycode > 185 && keycode < 193) || // ;=,-./` (in order)
                      (keycode > 218 && keycode < 223);   // [\]' (in order)

    if ((!isSearchActive && e.keyCode == KEY_DOWN) || (e.keyCode == KEY_TAB && !e.shiftKey)) {
      e.preventDefault();
      e.stopPropagation();
      focusResult(1); // Focus next
    }
    else if ((!isSearchActive && e.keyCode == KEY_UP) || (e.keyCode == KEY_TAB && e.shiftKey)) {
      e.preventDefault();
      e.stopPropagation();
      focusResult(-1); // Focus previous
    }
    else if (!isSearchActive && isPrintable) {
      // Otherwise, force caret to end of text and focus the search box
      searchbox.value = searchbox.value + " ";
      searchbox.focus();
    }
  });
})();

Автор освобожден исходный код его расширения здесь , Это немного сложнее, чем фрагмент кода выше.
pcworld

Это расширение прекрасно работает, используйте его почти каждый день.
swerly

8

По состоянию на 2017-07-31 гг. Google полностью удалил эту функцию из поиска ,

Я создал Расширение Web Search Navigator с открытым исходным кодом чтобы исправить это и добавить дополнительные функции (например, настраиваемые сочетания клавиш).

Увидеть Инструкция по установке ,

Надеюсь, вы найдете это полезным, но в любом случае - отзывы приветствуются!


2
Это великолепно! Больше людей должны знать об этом.
SlavaSt

Chrome-ссылка сейчас 404
Rheven

@ Рожден увидеть обновленный ответ
infokiller


1

Вы можете попробовать расширения, которые вводят Vim-подобные сочетания клавиш. С ними вам больше никогда не понадобится мышь. Например, cVim это тот, который в настоящее время является самым мощным для Chrome, в то время как Vimperator это один для Firefox.

С такими расширениями вы можете получить доступ к любой ссылке на текущей странице, нажав f (по умолчанию) с последующим сочетанием клавиш «один / два».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.