Jak używać klawiatury do poruszania się w wynikach wyszukiwania Google (teraz, gdy wyszukiwanie błyskawiczne jest martwe) [duplikat]

53

Na dzień dzisiejszy wyszukiwanie dynamiczne Google nie działa . Tak to kiedyś wyglądało:

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

Nigdy nie dbałem o natychmiastowe wyświetlanie wyników podczas pisania. Jednak setki razy dziennie używałem dozwolonych skrótów klawiaturowych.

Dla tych, którzy nigdy go nie używali - z włączonym natychmiastowym wyszukiwaniem możesz:

  • Naciśnij klawisz Enter po wyszukiwaniu i użyj klawiszy góra / dół, aby przesunąć „wskaźnik” w dół między wynikami

  • Następnie naciśnij „enter”, aby otworzyć wskazany wynik wyszukiwania

  • W dowolnym momencie wpisanie liter / cyfr na klawiaturze ponownie skupiałoby się na pasku wyszukiwania

  • Naciśnięcie klawisza Enter z wyróżnionym wynikiem można połączyć z modyfikatorem Ctrl, aby otworzyć wynik w nowej karcie.

Uważam, że mysz jest dość trudna w użyciu i staram się jej unikać, jeśli to możliwe. Czy istnieje narzędzie lub skrypt, którego można użyć do odtworzenia zachowania klawiatury, które zapewniło mi natychmiastowe wyszukiwanie?

Poprzednie pytania zadawały (i odpowiadały) w erze szybkiego wyszukiwania (np. To , to i moje poprzednie pytanie tutaj ), podczas gdy szukam zamiennika innego niż Google o tej samej funkcjonalności.

Używam Chrome na Ubuntu 15.01.

Bill Cheatham
źródło
2
Pamiętasz poprawnie, kiedyś działało dobrze. Wygląda na to, że zniknęło wraz z natychmiastowym wyszukiwaniem . searchengineland.com/… . Ale czy jesteś pewien, że wyszukiwanie błyskawiczne nadal działa dla Ciebie? Dla mnie nie dokonuje się wyszukiwania, dopóki nie nacisnę Enter. (Podoba mi się to zachowanie, ale chcę cofnąć małą niebieską strzałkę, tak jak ty.)
Bloke
1
to jest bardzo rozczarowujące .... wydaje się, że skrót klawiszowy „/”, aby powrócić do paska wyszukiwania, również zniknął z natychmiastowego wyszukiwania
itzjustricky
3
W tej samej pozycji co ty. Dziwne, że najbardziej popularna strona internetowa na świecie popsuła ten prosty projekt UX. Jestem pewien, że skrypt fatmonkey / tampermonkey może działać, ale nie jest to najbardziej pożądane rozwiązanie.
Kable
Nadal możesz nawigować w wynikach wyszukiwania za pomocą klawisza Tab.
Seth
2
chrome.google.com/webstore/detail/keyboard-shortcuts-for-go/… Ten dla mnie działa idealnie po wyjęciu z pudełka! Tylko Chrome Obvi.
Talasofobia

Odpowiedzi:

24

Google usunęło tę funkcję (zwaną Natychmiastową prognozą Google), więc nie możesz jej po prostu wyłączyć, tak jak kiedyś.

Byłem tak smutny, że ta funkcja odeszła, że ​​napisałem hack, aby ją przeprojektować ostatniej nocy. Do tej pory działa tylko z Google Chrome, ale można go dostosować do współpracy ze wszystkimi innymi:

  1. Zainstaluj rozszerzenie Chrome ShortKeys .
  2. Kliknij menu ShortKeys i wybierz „Opcje” wprowadź opis zdjęcia tutaj
  3. Kliknij „Dodaj” i wypełnij następujące pola:

Skrót klawiaturowy: tab

Zachowanie: Uruchom JavaScript

Oznacz jako: Selektor wyników

  1. Wklej następujący kod JavaScript do kodu JavaScript, aby uruchomić:

    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. Skonfiguruj ustawienia aktywacji :

Aktywne w polach formularza (zaznaczone)

Strony internetowe (tylko określone strony)

Adresy URL (jeden w wierszu) : * .google. *

Tak powinna wyglądać strona Opcje

Strona opcji ShortKeys

  1. Kliknij Zapisz, a następnie zamknij przeglądarkę.

Instrukcje:

  • Po ponownym uruchomieniu po naciśnięciu klawisza w wynikach wyszukiwania powinien pojawić się niebieski „>”.

  • Klawisze strzałek w górę / w dół umożliwiają cykliczne przechodzenie między wynikami.

  • Naciśnięcie „Enter” spowoduje przejście do podświetlonego wyniku.

  • Wciśnięcie „Ctrl + Enter”, aby otworzyć wynik w nowej karcie.

Miłego wyszukiwania!

Robino
źródło
12

Utworzyłem rozszerzenie Chrome, które doda podstawową funkcjonalność klawiatury (której przynajmniej użyłem). Jeśli pole wyszukiwania nie jest aktywne, naciśnięcie dowolnego klawisza automatycznie go ustawi. Ponadto klawisze strzałek i tab / shift + tab umożliwiają nawigację między wynikami. Mamy nadzieję, że pomoże nam to utrzymać produktywność, dopóki Google (mam nadzieję) nie przywróci tej funkcjonalności.

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

Oto kod rozszerzenia na wypadek, gdybyś chciał go edytować:

(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();
    }
  });
})();
Jacob Chafik
źródło
Autor opublikował tutaj kod źródłowy swojego rozszerzenia . Jest nieco bardziej zaawansowany niż fragment kodu powyżej.
pcworld,
To rozszerzenie działa świetnie, używaj go prawie codziennie.
swerly
11

Na dzień 31.07.2017 Google całkowicie usunął tę funkcję z wyszukiwania .

Stworzyłem rozszerzenie Web Search Navigator o otwartym kodzie źródłowym, aby to naprawić i dodać dodatkowe funkcje (takie jak konfigurowalne skróty klawiaturowe).

Zobacz instrukcje instalacji .

Mam nadzieję, że okaże się przydatny, ale w każdym razie - opinie są mile widziane!

infokiller
źródło
2
To jest genialne! Więcej osób powinno być tego świadomych.
SlavaSt
Chrome-link ma teraz 404
Rheven
@Rheven patrz zaktualizowana odpowiedź
infokiller
1

Możesz wypróbować rozszerzenia, które wprowadzają skróty klawiszowe podobne do Vima. Dzięki nim już nigdy nie będziesz musiał używać myszy. Na przykład cVimjest to ten, który jest obecnie najbardziej wydajny dla Chrome, podczas gdy Vimperatorjest to Firefox.

Dzięki takim rozszerzeniom możesz uzyskać dostęp do dowolnego łącza na bieżącej stronie, naciskając f(domyślnie), a następnie kombinację klawiszy jeden / dwa.

Xji
źródło