キーボードを使用してGoogle検索結果をナビゲートする方法(インスタント検索は無効になった)[複製]


53

この質問にはすでに答えがあります:

今日、Googleインスタント検索は死んでいます。これは、以前は次のように表示されていました。

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

入力中に結果を即座に表示することはあまり気にしませんでした。ただし、許可されているキーボードショートカットを1日に数百回使用しました。

一度も使用したことがない場合-インスタント検索を有効にすると、次のことができます。

  • 検索後にEnterキーを押し、上/下キーを使用して「ポインター」を結果内で下に移動します

  • 次に、「Enter」を押して、ポイントされている検索結果を開きます

  • いつでも、キーボードで文字/数字を入力すると、検索バーに再び焦点が合う

  • 結果を強調表示してEnterキーを押すと、ctrl修飾子と組み合わせて、新しいタブで結果を開くことができます。

私はマウスを使用するのが非常に難しく、可能な場合は避けようとします。インスタント検索で得られたキーボードの動作を再現するために使用できるツールまたはスクリプトはありますか?

インスタント検索の時代に以前の質問があり(回答​​されました)(これこれと私の以前の質問はここにあります)、私は同じ機能を持つGoogle以外の代替品を探しています。

Ubuntu 15.01でChromeを使用しています。


2
正しく覚えていて、以前はうまく機能していました。インスタントサーチとともに消えてしまったようです。searchengineland.com/…。ただし、インスタント検索はまだ機能していますか?私にとっては、Enterキーを押すまで検索は行われません。(私はその振る舞いが好きですが、あなたがそうであるように、小さな青い矢印を戻したいです。)
Bloke

1
これは非常に残念です.... '/'を使用して検索バーに戻るホットキーもインスタント検索で消えたようです
-itzjustricky

3
あなたと同じ位置に。地球上で最も人気のあるWebページがこの単純なUXデザインを台無しにしたのは奇妙です。私は、greasemonkey / tampermonkeyスクリプトは機能するはずですが、最も望ましい解決策ではないはずです。
ケブル

それでも、Tabキーを使用して検索結果をナビゲートできます。
セス

2
chrome.google.com/webstore/detail/keyboard-shortcuts-for-go/…これは、私にとっては完全に機能します!Chromeのみobvi。
タラソ

回答:


24

Googleはこの機能(Google Instant Predictionと呼ばれる)を削除したため、以前のように機能を変えることはできません。

この機能が機能するのを見るのはとても悲しかったので、昨晩それをリエンジニアリングするためのハックを書きました。これまでのところ、Google Chromeでのみ動作しますが、他のすべてで動作するように適合させることができます。

  1. Chrome拡張機能ShortKeysをインストールします。
  2. ShortKeysメニューをクリックして、「オプション」を選択します ここに画像の説明を入力してください
  3. [追加]をクリックして、次のフィールドに入力します。

キーボードショートカット:タブ

動作: JavaScriptを実行する

ラベル:結果ピッカー

  1. 次のJavaScriptをJavaScriptコードに貼り付けて実行します。

    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. アクティベーション設定を構成します。

フォームフィールド内でアクティブ(チェック済み)

Webサイト(特定のサイトのみ)

URL(1行に1つ):* .google。*

これは、オプションページがどのように見えるかです

ShortKeysオプションページ

  1. [保存]をクリックして、ブラウザを閉じます。

手順:

  • 再起動すると、タブを押すと検索結果に小さな青い「>」が表示されます。

  • 上/下矢印キーを使用すると、結果が循環します。

  • 「Enter」を押すと、強調表示された結果に移動します。

  • 「Ctrl + Enter」を押して、新しいタブで結果を開きます。

ハッピーサーチ!


12

(少なくとも使用した)プライマリキーボード機能を追加するChrome拡張機能を作成しました。検索ボックスがフォーカスされていない場合は、任意のキーを押すと自動的にフォーカスされます。さらに、矢印キーとタブ/シフト+タブを使用して、結果間を移動できます。これが、Googleが(できれば)機能を追加し直すまで生産性を維持できることを願っています。

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

編集する場合の拡張機能のコードは次のとおりです。

(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();
    }
  });
})();

著者はここで彼の拡張のソースコードをリリースしました。上記のコードスニペットよりも少し高度です。
pcworld

この拡張機能は非常に効果的です。ほぼ毎日使用してください。
18年

11

2017-07-31現在、Googleはこの機能を検索から完全に削除しました

これを修正し、追加の機能(構成可能なキーボードショートカットなど)を追加するために、オープンソースのWeb Search Navigator拡張機能を作成しました。

インストール手順を参照してください。

役に立つと思いますが、どんな場合でも、フィードバックを歓迎します!


2
これは素晴らしいです!より多くの人々がそれに気づく必要があります。
SlavaSt

Chromeリンクは現在404です
レーベン

@Rhevenは更新された回答を見る
infokiller


1

Vimのようなキーバインドを導入する拡張機能を試すことができます。それらを使用すると、マウスを再び使用する必要がなくなります。たとえば、cVim現在Chromeで最も強力なのVimperatorはFirefoxですが、

このような拡張機能を使用すると、f(デフォルトで)を押してから1つまたは2つのキーの組み合わせを押すと、現在のページのリンクにアクセスできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.