web-dev-qa-db-fra.com

Comment utiliser le clavier pour naviguer dans les résultats de recherche Google (maintenant que la recherche instantanée est morte)

À compter d’aujourd’hui, la recherche instantanée dans Google est mort . Voici à quoi cela ressemblait:

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

Je ne me suis jamais beaucoup préoccupé de l'affichage instantané des résultats lors de la frappe. Cependant, j'ai utilisé des centaines de fois par jour les raccourcis clavier autorisés.

Pour ceux qui ne l'ont jamais utilisé - avec la recherche instantanée activée, vous pouvez:

  • Appuyez sur Entrée après une recherche et utilisez les touches haut/bas pour déplacer un "pointeur" vers le bas des résultats.

  • Puis appuyez sur 'entrée' pour ouvrir un résultat de recherche étant dirigé vers

  • À tout moment, taper des lettres/chiffres sur le clavier reviendrait sur la barre de recherche

  • Une pression sur Entrée avec un résultat en surbrillance peut être combinée avec le modificateur Ctrl pour ouvrir un résultat dans un nouvel onglet.

Je trouve la souris assez difficile à utiliser et j'essaie de l'éviter lorsque cela est possible. Existe-t-il un outil ou un script que je pourrais utiliser pour reproduire le comportement du clavier utilisé par la recherche instantanée?

Les questions précédentes ont été posées (et ont reçu une réponse) à l’ère de la recherche instantanée (par exemple, this , this et ma question précédente here ), alors que je cherche pour un remplacement non google avec la même fonctionnalité.

J'utilise Chrome sur Ubuntu 15.01.

52
Bill Cheatham

Google ayant supprimé cette fonctionnalité (appelée Google Instant Prediction), vous ne pouvez plus la transformer comme avant.

J'étais tellement triste de voir cette fonctionnalité disparaître que j'ai écrit un bidouillage pour la réorganiser la nuit dernière. Jusqu'à présent, il ne fonctionne qu'avec Google Chrome, mais peut être adapté pour fonctionner avec tous les autres:

  1. Installer l’extension Chrome ShortKeys .
  2. Cliquez sur le menu ShortKeys et sélectionnez "Options"  enter image description here
  3. Cliquez sur "Ajouter" et remplissez les champs suivants:

Raccourci clavier: onglet

Comportement: Exécuter JavaScript

Libelle comme: sélecteur de résultats

  1. Collez le code JavaScript suivant dans le code JavaScript à exécuter:

    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. Configurez les paramètres d'activation:

Actif dans les champs de formulaire (coché)

Sites Web (sites spécifiques uniquement)

URLS (un par ligne): * .google. *

Voici à quoi devrait ressembler la page Options

 ShortKeys Options Page

  1. Cliquez sur Enregistrer, puis fermez votre navigateur.

Instructions:

  • Lorsque vous redémarrez, un petit ">" bleu apparaîtra dans les résultats de la recherche lorsque vous appuierez sur l'onglet.

  • Les touches fléchées haut/bas permettent de faire défiler les résultats.

  • Frapper "Entrée" va naviguer vers le résultat en surbrillance.

  • Appuyez sur "Ctrl + Entrée" pour ouvrir le résultat dans un nouvel onglet.

Bonne recherche!

24
Robino

J'ai créé une extension Chrome qui rajoutera la fonctionnalité de clavier principale (que j'ai au moins utilisée). Si la zone de recherche n'est pas focalisée, une pression sur n'importe quelle touche la mettra automatiquement en évidence. De plus, les touches fléchées et tab/shift + tab permettent de naviguer entre les résultats. Espérons que cela puisse nous aider à rester productifs jusqu'à ce que Google (espérons-le) réintroduise la fonctionnalité.

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

Voici le code de l'extension au cas où vous voudriez l'éditer:

(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

À compter du 2017-07-31, Google a supprimé cette fonctionnalité de la recherche .

J'ai créé l'extension open source Web Search Navigator pour résoudre ce problème et ajouter des fonctionnalités supplémentaires (comme des raccourcis clavier configurables).

Voir instructions d'installation .

J'espère que vous le trouverez utile, mais dans tous les cas, vos commentaires sont les bienvenus!

9
infokiller

Pour Firefox, je résous ce problème en utilisant le module complémentaire Raccourcis clavier des résultats de recherche Google. https://addons.mozilla.org/en-US/firefox/addon/google-search-result-shortcuts/?src=api

4
valior

Vous pouvez essayer des extensions qui introduisent des raccourcis clavier de type Vim. Avec eux, vous n'aurez plus jamais besoin d'utiliser votre souris. Par exemple, cVim est celui qui est actuellement le plus puissant pour Chrome, alors que Vimperator est celui pour Firefox.

Avec de telles extensions, vous pouvez accéder à n’importe quel lien de la page en cours en appuyant sur f (par défaut) suivi d’une ou deux combinaisons de touches.

1
xji