since 2007.8 by K-ichi

ある人には親切でも、別の人にはおせっかいに感じる。どこかのCMではないが、ここのところのGoogleのやり方には戸惑わされている。
親切機能の「インスタント検索」、および「インスタントプレビュー」について、インスタントに対策してみた。


最近Googleでは、検索窓に入力したその瞬間から結果が表示されるようになった。検索結果数も10件に減っている。そういえば画面の雰囲気も変わっている。
どうやらこれが「インスタント検索」というものらしい。

よく知られた情報の多いモノについて、ざっくり検索するには便利そうな機能。でも、広く薄く対象をじっくり攻めるには邪魔になる。
幸いこれには、使用しない設定がある。右上端にある歯車アイコンをクリックし、「検索設定」を選んで「表示設定」ページを呼び出す。この中の「Google インスタント検索を使用しない」のラジオボタンをオンにして保存する。Cookieに保持されるので、以降は初期化しない限りこの設定が有効になる。

良いものができても使ってもらえない、Chromeの轍を踏むまいというわけでもないだろうが、デフォルトで使わせるのなら、それなりのアナウンスリンクを表示しておくべきではないだろうか。


それより厄介なのが「インスタントプレビュー」。検索結果上に、そのリンク先を簡易表示するもの。本来は虫眼鏡アイコンだけが反応対象のはずだが、タイトル、本文まで反応する。動作も緩慢になり、使いづらいことこの上ない。なによりこの親切機能には、無効にする設定が無い。

調べてみると、IEでは、ユーザ補助機能を用いた、独自のCSSで隠蔽する方法が編みだされている。IE以外では、拡張機能(Greasemonkeyなど)とともにスクリプト使う方法など、さまざまな手があるらしい。

IE8使いなので、素直にCSSでごまかそうと思っていた矢先、あまりにシンプルなスクリプトを見つけ、これを試してみたくなった。
ahomu(あほむ)氏による「Disable Google Instant Previews」というもので、動作部は10行に満たない。

これを使うには、以下の手順を踏む。
まず、IEにもGreasemonkey相当のアドオンを導入する。TrixieGM4IEがあり、前者が歴史があるようなのでこちらを使う。ダウンロードし、インストールは特に設定を変えることもなく終了。
目的のスクリプトを使うには、インストールフォルダ(C:\Program Files\Bhelpuri\Trixie\Scriptsなど)に、使いたいスクリプトファイルを放り込んでおく。あとは普通にIEを起動すればいい。つまり、このフォルダに先のDisable Google Instant...でダウンロードした90678.user.jsを置いておくだけ。

もし動作しないようなら、[ツール(T)]-[アドオンの管理(A)]で、Trixie関連の状態が「有効」になっているか確認する。[ツール(T)]-[インターネットオプション(O)]-[詳細設定]タブ内で「サードパーティ製のブラウザー拡張を有効にする*」や、[セキュリティ]タブ内でスクリプト自体が有効になるよう、セキュリティレベルの調整をする。

実際に使ってみると、半透明になった虫眼鏡アイコンが残るが、プレビューはされない。実に清々しい。


ついでなので、その半透明アイコンも消してしまうことにした。90678.user.jsをメモ帳などで開き、少し書き加える。以下の黄色部が元のソース、緑色部が追加した部分。

検索結果ページのソースを見ると、「.gbxx{display:none !important}」という、強そうなスタイルが定義されている。虫眼鏡アイコンは、vspibというクラス名の付いたbuttonタグ。これを、gbxxに置き換えて消し去る。

// ==UserScript==
// @name           Disable GOGL Instant Previews
// @namespace      http://havelog.ayumusato.com/
// @description    Disable Google Instant Previews.
// @include        http://*.google.*/search*
// @version        1.1
// ==/UserScript==

(function(){
    var vsc = document.querySelectorAll('div.vsc'),
        iz  = vsc.length,
        i   = 0;

    for ( ; i < iz; i++ ) {
        vsc[i].className = '';
    }

    var vspib = document.querySelectorAll('button.vspib');     for (i=0 ; i < vspib.length ; i++){         vspib[i].className = 'gbxx';     }
})();

このスクリプトは、WinXP SP3+IE8で動作した。
ちなみに、検索結果ページで[F5]による更新を行うと、インスタントプレビューが復活する。理由は判らないが、通常はプレビュー無効、見たいときには[F5]を押す、という動作も悪くない、ということで、深追いはやめることにした。

作成にあたり、「タグの属性を探る」、「IE8 で実装された Selectors API とは何か?」などのページを参考にした。これによれば、ここで使ったスクリプトは、IE8以降でないと動作しないのかもしれない。


そんなこんなを、Googleをホームページにし、Bloggerを使い、YouTubeに浸かりながら吠えてみた。

0 件のコメント:

コメントを投稿

.

関連記事


この記事へのリンク by 関連記事、被リンク記事をリストアップする」記事

ブログ アーカイブ