2008/08/13

Flickr検索用Bookmarklet (Firefox, Safari)

Wikitravel用検索Bookmarkletを作った後、それをベースにウィキトラベルで利用できるライセンス (CC-BY, CC-BY-SA) の写真をフリッカーで検索するブックマークレットを作ってみました。検索条件に「クリエイティブ・コモンズ 表示 (CC-BY)」又は「クリエイティブ・コモンズ 表示-継承 (CC-BY-SA)」により使用許諾された画像であることを組み込んであります。FirefoxSafariで動きます(Windows XP Service Pack 3で確認)。Internet Explorer用は別途作成しています。

使い方は次の通りです。
そのままブックマークレットをクリックした場合
→ プロンプトを表示し、そこに入力されたキーワードでフリッカーを検索します。
文字列を選択した状態でブックマークレットをクリックした場合
→ 選択した文字列でフリッカーを検索します。
Wikitravelの検索結果ページ (*) でブックマークレットをクリックした場合
→ レフトナビの検索box内のキーワードでフリッカーを検索します。
* ··· ウィキペディアなどのMediaWikiを使用しているサイト(検索boxがId="searchInput"となっているサイト)の検索結果ページでは、Wikitravelと同じ動作(レフトナビの検索box内のキーワードによる検索)になります。

ブックマークレットの入手方法
  • Firefoxの場合は、"Flickr CC images"のリンクを右クリックして「このリンクをブックマーク」を選択して保存して下さい。
  • Safariの場合は、"Flickr CC images"のリンクをドラッグしてブックマークバーにドロップして下さい。


コード

後で見たくなるような気がするのでここに置いておくことにしました。読み易くするために改行とインデントを入れてあります。
javascript:

var selectText=window.getSelection();

if(document.getElementById('searchInput'))
 var searchValue=document.getElementById('searchInput').getAttribute('value');

if(selectText!=''){

 location.href='http://flickr.com/search/?q='+encodeURIComponent(selectText)+'&l=commderiv'

}
else{

 if((searchValue=='')||(searchValue==undefined)){
  void(searchValue=prompt('Keywords...',''));
 };

 if(searchValue)
  location.href='http://flickr.com/search/?q='+encodeURIComponent(searchValue)+'&l=commderiv'

}
Atom