Google: Link selector

Allows you to select Google links with the keyboard

  1. // ==UserScript==
  2. // @name Google: Link selector
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0.1
  5. // @description Allows you to select Google links with the keyboard
  6. // @author divide100
  7. // @match http*://www.google.ca/search?*
  8. // @grant GM_openInTab
  9. // @require https://gf.qytechs.cn/scripts/5679-wait-for-elements/code/Wait%20For%20Elements.js?version=46106
  10. // ==/UserScript==
  11. /* jshint -W097 */
  12. 'use strict';
  13.  
  14. var util = {
  15. log: function () {
  16. var args = [].slice.call(arguments);
  17. args.unshift('%c' + SCRIPT_NAME + ':', 'font-weight: bold;color: purple;');
  18. console.log.apply(console, args);
  19. },
  20. q: function(query, context) {
  21. return (context || document).querySelector(query);
  22. },
  23. qq: function(query, context) {
  24. return [].slice.call((context || document).querySelectorAll(query));
  25. }
  26. };
  27.  
  28. var i = 0;
  29. var results = util.qq('div.g', document.body);
  30. results[i].style.border = "1px solid #4285f4";
  31. results[i].style.borderRadius = "4px";
  32.  
  33. var SCRIPT_NAME = "Google Link Selector";
  34.  
  35. window.onkeypress = function(e) {
  36. switch(e.keyCode) {
  37. //w
  38. case 119:
  39. if(i > 0) {
  40. results[i--].style.border = "none";
  41. }
  42. break;
  43. //s
  44. case 115:
  45. if(i < results.length - 1) {
  46. results[i++].style.border = "none";
  47. }
  48. break;
  49. //enter
  50. case 13:
  51. if(e.shiftKey) {
  52. GM_openInTab(util.q('a', results[i]).href, false);
  53. }
  54. else {
  55. window.location.href = util.q('a', results[i]);
  56. }
  57. break;
  58. }
  59. results[i].style.border = "1px solid #4285f4";
  60. results[i].style.borderRadius = "4px";
  61. results[i].scrollIntoView();
  62. };

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址