スマートキーワード + ブックマークレットを作ってみる
アドレスバーから素早く検索できる、スマートキーワード。
ブックマークにJavaScriptコードを入れて、単機能のスクリプトを動かすブックマークレット。
この2つを組み合わせれば、スマートキーワードをより便利にすることができます。
これによって以下のようなことが実現できます。
- goo辞書を、検索する言葉が英字なら英和、そうでなければ和英を自動的に使うようにできる
- Googleマップのルート・乗換案内のように、検索する言葉を2つ入れるようなものにも対応できる
- 検索オプションごとにキーワードを作らなくても、検索する言葉に検索オプションを含めるようにすることができる
スマートキーワード+ブックマークレットのベース部分のスニペット。
javascript:(function(){ var engine = 'サーチエンジンのURI断片'; var s = '%s'; var q = s; if (q === '%s') { q = ''; } /* それぞれの処理 */ location.href = q; })();
改行を除去する
ブックマークに入れるときは、改行を無くして1行にしなければなりません。
テキストエディタの正規表現による置換で、[\t\n\r ]+ を 半角スペース1つ にすべて置き換えれば素早く除去できます。
注意点
- %sが検索する言葉に置き換えられるため、コード内で '%s' を使えば ' が、"%s" を使えば " が検索する言葉に使えなくなる( \ でエスケープすれば使える)
- UTF-8に対応していないサイトの場合、日本語が文字化けする
- アドレスバーからではなく、通常のブックマークとして使うと、%sが置換されない
- すべての %s が検索する言葉に置き換えられるため、置き換えずに '%s' を使いたい場合は '%'+'s' にしたり、/%s/ を使いたい場合は /[%]s/ にしたりする必要がある
- NoScriptを使っている場合は、「ブックマークから開いたサイトを許可する」にチェックを入れる必要がある