2017-08-08 3 views
-4

s'il vous plaît partager tout code js que vous pourriez avoir mis au point afin que je puisse le réutiliser. merciRaccourcis clavier pour la page de résultats de recherche google utilisant greasemonkey/tampermonkey?

+3

Avez-vous une question/rencontrez-vous des problèmes ou essayez-vous simplement de partager votre code? Si c'est le cas, veuillez mettre à jour votre message avec des détails sur les problèmes/erreurs que vous rencontrez, et ce que vous avez fait pour essayer de le résoudre. Si c'est le cas, Stack Overflow n'est pas l'endroit approprié - regardez plutôt dans GitHub, ou similaire. – TheJim01

Répondre

0

ci-dessous est un code de travail pour certains raccourcis de page de résultats de recherche google. S'il vous plaît ne hésitez pas à improviser sur et LMK grâce

Maj + I: ouvre images, Maj + V: ouvrira ses portes Vidéos, ... ... ...

vous verrez le numéro de lien à côté des résultats de recherche lien hypertexte (lien) si vous appuyez sur le numéro sur le clavier, il ouvre ce lien dans un nouvel onglet.

Vous avez besoin de greasemonkey ou de tampermonkey pour exécuter ce code js.

m'a permis d'améliorer un peu en tirant parti de ce que l'un des développeurs a écrit dans Way to Create Keyboard Shortcuts for Google Search Results?

espérons que cette aide.

merci,

Abhi.

// ==UserScript== 
// @name   Google digits 
// @include  https://www.google.tld/* 
// @run-at  document-start 
// @author  Abhinay Gadikoppula 
// @match  https://stackoverflow.com/questions/39456608/way-to-create-keyboard-shortcuts-for-google-search-results 
// @grant  none 
// ==/UserScript== 
// only work on search pages with #q= &q= ?q= 
if (location.href.match(/[#&?]q=/)) { 

    var links = []; 
    var menu_links = []; 
    var menu_links_map = []; 

    window.onload = function() { 

     // get all header menu links 
     menu_links = document.getElementById("hdtb-msb").querySelectorAll('a.q.qs'); 
     menu_links.forEach(function(link, index) { 
      menu_links_map[link.innerHTML.charAt(0)] = link; 
     }); 

     // get all results in an array 
     links = document.querySelectorAll('h3.r a'); 
     links.forEach(function(link, index) { 
      link.innerHTML = link.innerHTML + ' (' + (index + 1) + ')'; 
     }); 
    }; 

    window.addEventListener('keydown', function(e) { 

     if (e.shiftKey && e.keyCode >= 65 && e.keyCode <= 90) { 
      e.preventDefault(); 
      char = String.fromCharCode(e.keyCode); 
      //keycodes 65-90 are alphabets a-z 
      if (char in menu_links_map) { 
       menu_links_map[char].click(); 
      } 
     } else if (e.keyCode >= 49 && e.keyCode <= 57 && 
      // don't intercept if a modifier key is held 
      !e.altKey && !e.ctrlKey && !e.shiftKey && !e.metaKey && 
      // don't intercept 1-9 in the search input 
      e.target.localName != 'input') { 
      //keycodes for 1-9 are 49-57 but replacing them with 1-9 
      var digit = e.keyCode - 48; 
      // arrays are 0-based 
      var link = links[digit - 1]; 
      if (link) { 
       // go to the linked URL 
       window.open(link.href, '_blank'); 
       // prevent site from seeing this keyboard event 
       e.preventDefault(); 
       e.stopPropagation(); 
       e.stopImmediatePropagation(); 
      } 
     } else if (e.keyCode == 191) { 
      // event '/' keycode 191 
      e.preventDefault(); 
      input = document.getElementById("lst-ib"); 
      val = input.value; //store the value of the element 
      input.value = ''; //clear the value of the element 
      input.focus(); //set focus on the input field 
      input.value = val; //set that value back. 
     } 
    }, true); // true means we capture the event before it's "bubbled" down 
}