Googleのヘッダーを拡張して画像検索やブログ検索へのリンクを追加するユーザースクリプト

グーグルの検索結果ページのヘッダー部分は、「ウェブ 画像 動画 地図 ニュース グループ Gmail その他 ▼」と表示されていると思いますが、それを「G日 G英 辞書 Gブ日 Gブ英 CC 語源 G本 GBook ウェブ 画像 動画 地図 ニュース グループ Gmail その他 ▼」と拡張します。検索エンジンオンライン辞書などは要不要に応じて削ったり増やしたりしてください。

Operaな方は適当にkensaku.user.jsとでも名づけてUserScriptフォルダに保存。Firefoxな人はグリモンに書き込んで。Chromeはシラネ。

上記で公開されているスクリプトを流用したパッチワークです。とりあえず動いています。元々は、twitterの検索追加やgmailのナンチャラ用のスクリプトだったようです。正規のスクリプトの方も、便利で助かります。(多謝

array1がリンク文字。array2が検索式。クエリ自体は正規表現で抜いてます。「クエリに使われる引数と等号まで」をarray2に指定してください。

あと、Googleの「ウェブ検索結果ページ」でしか動きません。

それと、変更して動くか確かめる際、Opera10なら、再起動しなくても、エディタで保存して、Operaリロードで変更後のスクリプトがしっかりと読み込まれます。

// ==UserScript==
// @name          kensaku list
// @namespace     http://ss-o.net/
// @description   twitterの画面に「twitter検索」用の検索窓を表示します
// @include       http://*.google.*/*
// ==/UserScript==
//
// this script based on Add TwitterKensaku
//   by  http://twitter.g.hatena.ne.jp/hayashih/20070527
(function(d){
	if(!(d=document.getElementById('gbar'))) return;
	var tag = [
		'<div class="section-header"><h1>Following</h1></div>'
	].join('\n');
var array1 = ["G日","G英","辞書","Gブ日","Gブ英","CC","語源","G本","GBook"];
var array2 = ["http://www.google.com/search?complete=1&hl=ja&q=","http://www.google.com/search?complete=1&hl=en&q=","http://dictionary.reference.com/search?q=","http://blogsearch.google.co.jp/blogsearch?hl=ja&ie=UTF-8&q=","http://blogsearch.google.com/blogsearch?hl=en&ie=UTF-8&q=","http://www.collins.co.uk/Corpus/CorpusPopUp.aspx?corpus=ukephem+ukmags+bbc+ukbooks+times+today+usbooks+npr+usephem+ukspok&width=100&query=","http://www.etymonline.com/index.php?search=","http://books.google.co.jp/books?q=","http://books.google.com/books?as_brr=3&q="];
	var div = document.createElement('span');
	div.className = 'kensaku';
//	div.innerHTML = tag + tag2 + tag3;
div.innerHTML = '';
for ( var i = 0; i < array2.length; ++i ) {
	div.innerHTML +=  "<a href='" + array2[i] + href.match(/[&?]q=([^&]*)(?:&|$)/)[1] + "' title='" + array1[i] + "'>" + array1[i] + "</a> ";
}
//	d.insertBefore(div, d.getElementById("gbar"));
document.getElementById('gbar').firstChild.insertBefore(div, document.getElementById('gbar').firstChild.childNodes[0]);
})();