今日はFirefox関連を少々

Firefox用の検索エンジンの追加

あなたのFirefoxからALIS WebOPACに簡単にアクセス - Firefox用ALIS WebOPAC検索プラグイン
Firefoxのツールバーの検索エンジンリストを自作し、追加する。等のサイトを参考にエンジンの追加を試みる
 ハイフンなしが正しく動作せず、Live HTTP Headerでログを見ると値がないパラメータがわたらない事がわかった*1
 とりあえず値がないパラメータの前のパラメータに値としてパラメータを渡すという方法で回避した

例)
<input name="type" value="0">
<input name="allc" value="">
<input name="page" value="1">
と記入すると
 〜type=0&page=1〜になってしまうので
<input name="type" value="0&allc=">
<input name="page" value="1">
と書くことにより
 〜type=0&allc=&page=1〜となる
  • インストール方法*2

各図書館用の検索エンジンをDownloadし、Firefoxインストールディレクトリ\searchplugins配下へコピーする
検索バーに表示される順番がインストール順になってしまうので、Search Engine Ordering 日本語版
拡張機能をインストールして使いやすい順に並べると良い

南相馬市用検索エンジン
いわき市用検索エンジン
福島市用検索エンジン
郡山市用検索エンジン
須賀川市検索エンジン須賀川のサーバが落ちていたので、テストできないので未アップ
会津若松市用検索エンジン
喜多方市用検索エンジン
新地町用検索エンジン
三春町用検索エンジン
白沢村用検索エンジン

Bookmarkletの追加

Tbしていただいた方のサイトMyrmecoleon in Paradoxical Libraryを見るとうまいBookmarkletを書くものだと思った。
ページ内にISBNコードが存在するサイトで、ISBNコードを抽出し(ハイフンがある場合は、ハイフンを取り除いて)、パラメータを付加して投げるというアイデアは秀逸

javascript:(function(){var is,c,a=document.body.innerHTML;if(a.match(/ASIN.?(\d{9}[X\d])/i)){}else if(a.match(/ISBN.?(\d{9}[X\d])/i)){}else if(a.match(/(\d[\-\d]{8,11}[X\d])/)){}is=RegExp.$1.replace(/-/g,'');if(!is){alert('NO ISBN');}else{window.open('http://lib.inf.fukushima.fukushima.jp/cgi-bin/sellist?type=0&allc=&page=1&keyword=&sentaku=and&title=&sentaku=and&author=&sentaku=or&publish=&sentaku=or&isbn='+is+'&pubydate1=&pubydate3=&bunrui=&syubetu=all&kan=all&media=all&count=10&order=publish&before=select&authorid=&opacfile=&titleid=&i1=&i2=');}})();

javascript:(function(){var is,c,a=document.body.innerHTML;if(a.match(/ASIN.?(\d{9}[X\d])/i)){}else if(a.match(/ISBN.?(\d{9}[X\d])/i)){}else if(a.match(/(\d[\-\d]{8,11}[X\d])/)){}is=RegExp.$1.replace(/-/g,'');if(!is){alert('NO ISBN');}else{window.open('http://www.toshokan.city.koriyama.fukushima.jp/KRCLIB/servlet/search.result?title1=&title_agree1=1&title_cond2=1&title2=&title_agree2=1&author1=&author_agree1=1&author_cond2=1&author2=&author_agree2=1&publisher1=&relation1=&relation_cond2=1&relation2=&class_sign1=&publish_year1=&publish_year2=&data_division1=dummy&library_name1=dummy&code_genre1=2&code_value1='+is+'&area_check1=dummy&area1=dummy&possess_division1=dummy&title_kind1=dummy&medium_kind1=dummy&newarvl1=dummy&tkd_poss1=dummy&classflg=0');}})();

  • 問題点
    • Bookmarkletの文字数制限に引っかかりSleipnirでは動作しない*3
    • 喜多方市立図書館バージョンがまだ動作しない*4
    • 運の悪いことに須賀川市立図書館のサーバが落ちていてテストが出来ない
    • ハイフン必須の図書館用がまだ出来ていない(近日中に作ります)

その他

最近、楽に検索ができる事より、スクリプトを作ったり関連する項目を調べたりのほうが楽しい。 このままでは本末転倒なので、少し本を借りてきた。 読む時間がなくなるので今日はこのぐらいで

*1:ハイフンありのログを見ても同様、ハイフンありがたまたまパラメータが足りなくとも動作していただけ

*2:本来はサイト上で右クリックでインストールが可能だが、とりあえずサーバ上のディレクトリに放り込んであるだけなので手動で

*3:外部スクリプトを読み込むパターンを作ってみたが304 Not Modifiedとなる、とりあえず後日調査とする

*4:パラメータ中にマルチバイト文字が存在する、パラメータ中に+が存在する、または、まったく別の要因?