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

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

на сегодняшний день, Google Мгновенный поиск умерла. Вот как это раньше выглядело:

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

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

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

  • нажмите клавишу Ввод после поиска, и используйте клавиши вверх/вниз, чтобы переместить 'указатель' по итогам

  • затем нажмите "enter", чтобы открыть результат поиска, указывая на

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

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

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

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

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

49
задан Bill Cheatham 2017-07-26 22:02:50
источник

5 ответов

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

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

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

Сочетания Клавиш: tab

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

ярлык как: Результат Выбора

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

    document.selectedResultId=0
    function selectResult(newId){
        els = document.querySelectorAll("h3.r")
        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("h3.r")[document.selectedResultId]
          var lnk = el.querySelector("a")
          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 (один на строку):*.погуглить.*

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

ShortKeys Options Page

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

инструкции:

  • при перезагрузке вы должны увидеть немного синий " > " появляется поиск результаты при нажатии tab.

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

  • нажатие "Enter" приведет к выделенному результату.

  • нажать "Сtrl+Enter", чтобы открыть новое вешалка.

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

23
отвечен Robino 2018-02-24 01:08:02
источник

Я создал расширение 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();
    }
  });
})();
12
отвечен Jacob Chafik 2017-07-27 19:12:39
источник

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

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

See инструкция по установке.

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

7
отвечен infokiller 2018-10-01 13:54:45
источник

для firefox я решаю эту проблему с помощью Google результат поиска сочетания клавиш дополнения. https://addons.mozilla.org/en-US/firefox/addon/google-search-result-shortcuts/?src=api

4
отвечен valior 2017-08-03 09:58:35
источник

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

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

1
отвечен xji 2017-08-01 14:17:23
источник