Yahoo!リアルタイム検索ブックマークレットを作ってみた

TwitterやFacebookなどのSNSは、いま話題になっていることを手っ取り早く知るにはいい情報源である。ただ、自分はアカウントも持っていなくて、持つ気もなく、SNSで情報を発信したりはしたくないけど、とりあえず出回っている話題を簡単に検索したい場合、Yahoo!リアルタイム検索が便利だ。

リアルタイム検索はアプリがあるのでそちらのほうが便利だけど、パソコンなどの環境ではブラウザーでリアルタイム検索のサイトにアクセスし、キーワードを入力する必要がある。それが面倒なので、選択したキーワードで検索をしてくれるブックマークレットを作ってみた。

選択テキストのリアルタイム検索

選択しているテキストをリアルタイム検索するブックマークレット。まずはコードの内容から。

function(){
    var u = window.getSelection().toString();
    var e = encodeURIComponent(u);
    var r = 'https://search.yahoo.co.jp/realtime/search?p=' + e;
    window.open(r, '_blank');
}

ブックマークレットのJavaScriptのコード自体はシンプルで、選択した文字列をエンコードし、Yahoo!リアルタイム検索のURLのパラメーターとして渡して、別のタブとして表示している。

javascript:(function(){var%20u=window.getSelection().toString();var%20e=encodeURIComponent(u);var%20r='https://search.yahoo.co.jp/realtime/search?p='+e;window.open(r,'_blank');})();

ブックマークレットとして設定する場合は、「javascript:」の記述を追加して改行は省いた上のコードをコピーする。

ブックマークレットは、ChromeもSafariも、一度どこかテキトーなページをブックマークし、それをあとで編集することで作成する。編集時にURLの部分にJavascriptのコードをペーストして完成する。

いま見ているページのリアルタイム検索

いま見ている現在のページのURLをリアルタイム検索するブックマークレットのコード。

function(){
    var u = location.href;
    var e = encodeURIComponent(u);
    var r = 'https://search.yahoo.co.jp/realtime/search?p=' + e;
    window.open(r, '_blank');
}

現在のページのURLをエンコードしてYahoo!リアルタイム検索に渡している。

javascript:(function(){var%20u=location.href;var%20e=encodeURIComponent(u);var%20r='https://search.yahoo.co.jp/realtime/search?p='+e;window.open(r,'_blank');})();

コピーするブックマークレット。選択テキストの検索のときと同じように別のタブで表示するようにしている。こちらもChrome、Safariで動作することを確認した。

カテゴリー: Tips