現在のURLか選択文字列で検索するブックマークレット
何も選択してない場合は現在開いているページのURLを,
選択している場合はその文字列を,
検索クエリにするJavaScriptブックマークレットの例.
Twitterで検索する
javascript:(function(){ function f(str) { window.open('http://twitter.com/search?q='+encodeURIComponent(str)); }; var slc = window.getSelection().toString(); slc? f(slc): f(location.href); })();
Ceronで検索する
javascript:(function(){ var slc = window.getSelection().toString(); if(slc){ window.open('http://ceron.jp/search?q='+encodeURIComponent(slc)); }else{ window.open('http://ceron.jp/url/'+ encodeURIComponent(location.hostname+location.pathname+location.search)); } })();
- 扱うのが選択文字列かURLかで投げるURLが異なる場合は愚直に書くしかないはず.
- 見栄えのため普通のif-elseで書いたけど, ブックマークレットはどうせ1行にまとめるので三項演算子でも問題ない.
- URLからプロトコル部分を除いたものを渡したいのだが, replaceとかsplitとか使うとInternet ArchiveみたいなURLに出会ったときに困るので, 多分これくらいしか書きようがなさそう.
Chromeなら以下の拡張も便利.
SpellBook - ブックマークレットを右クリックから実行 - Chrome ウェブストア
http://chrome.google.com/webstore/detail/spellbook-execute-bookmar/ihckioenbbjedpocnnennnehjaacojil?hl=ja