-1

誰かがGoogle検索結果のキーボードショートカットを作成する方法を知っているのだろうかと思っていました。たとえば、最初のGoogle検索結果を数字1で、キーボードで、そして次の数字で連続して入力するための方法を探しています。Google検索結果のキーボードショートカットを作成する方法は?

これを行う方法は高低を検索しましたが、私はそれほど近づきませんでした。この機能を実行するために使用できる方法/拡張機能/言語とは何ですか?

少なくとも、誰かが私にリソースの方向またはこれをプログラムする方法を教えてくれるかどうか疑問に思っていました。私はTampermonkey拡張機能をChrome拡張機能としてダウンロードしましたが、私が望むことをするために適切なJSコードを作成したり見つけることができませんでした。私が探しているものの例は、ここにあります:http://googlesystem.blogspot.com/2007/02/keyboard-shortcuts-for-google-search.html。残念ながら、そこに見つかったスクリプトとリンクは死んでいて、信じられないほど古くなっています(2007年以降)。

答えて

1

このアイデアは私には興味がありましたので、ここではすべてのGoogleドメインで特別な.tldドメインを使用してuserscriptsで利用できるTampermonkeyの基本的な実装を行っています。

// ==UserScript== 
// @name   Google digits 
// @include  https://www.google.tld/* 
// @run-at  document-start 
// ==/UserScript== 

// only work on search pages with #q= &q= ?q= 
if (location.href.match(/[#&?]q=/)) { 
    window.addEventListener('keydown', function(e) { 
     var digit = e.keyCode - 48; 
     // 48 is the code for '0' 
     if (digit >= 1 && digit <= 9 && 
      // 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') 
     { 
      // get all results in an array 
      var links = document.querySelectorAll('h3.r a'); 
      // arrays are 0-based 
      var link = links[digit - 1]; 
      if (link) { 
       // go to the linked URL 
       location.href = link.href; 
       // prevent site from seeing this keyboard event 
       e.preventDefault(); 
       e.stopPropagation(); 
       e.stopImmediatePropagation(); 
      } 
     } 
    }, true); // true means we capture the event before it's "bubbled" down 
} 

課題は、ページがする前に、イベントを処理することだったので、私はバブルチェーン、windowオブジェクトの上にcapturing listenerを使用して、ページがその登録前にハンドラを登録する@run-at: document-start metakeyなを使用しました自分の。

+0

非常にいいコードです。 +1 :)私は、このような熱意が、新しいユーザーに、これが無料のコード作成サービスだと考えるようになるかもしれないことを恐れています。 OPの投稿をチェックすると、彼は複数の理由で(閉鎖/広すぎる)閉鎖の資格があることがわかります。 –

+0

ええ、私はgoogle-chrome-extensionタグに表示されている質問の半分を閉じて投票します。 – wOxxOm

+0

彼は実際にこの質問をSuperUser(http://superuser.com/q/1123358/194976)に投稿しました。私はそこにコメントしましたので、ここで再試行しました。 –

関連する問題