署名検索で書籍以外でもスクリプトが動作してしまう不具合対応

バグ対応

内容
対応方法(以下の2点を判断材料として追加)
  1. ページ中にASIN:で始まる文字列が存在すること
  2. ASIN:に続く文字列が9桁の数字(0-9) + 1桁の数字(0-9)またはXであること
スクリプトの一覧とダウンロード先
県名 図書館名 DLファイル
青森 板柳町民図書館 itayanagi.user.js
岩手 矢巾町公民館図書室 yahaba.user.js
  花巻市立図書館 hanamaki.user.js
  平泉町立図書館 hiraizumi.user.js
宮城 石巻市図書館 ishinomaki.user.js
  仙台市図書館 sendai.user.js
  利府町図書館 rifu.user.js
秋田 秋田県立図書館 akita_p.user.js
  秋田市立図書館 akita.user.js
  大仙市立神岡図書館 kamioka.user.js
  横手市立図書館 yokote.user.js
山形 山形県立図書館 yamagata_p.user.js
  河北町立中央図書館 kahoku.user.js
  酒田市立図書館 sakata.user.js
福島 福島県立図書館 fukushima_p.user.js
  相馬市図書館 soma.user.js
  国見町観月台文化センター図書室 kunimi.user.js

機能追加

内容
  • 通化スクリプト(ISBNコードで検索する図書館へのリンクの差込、書名検索)のテンプレート
    • 書名検索
      • 上記不具合対応、図書館のURLと検索ボタンのスタイルを変数化
        あらかた修整した後で、POSTとGETの区別も変数化すべきだと気づいた。これは次回レベルアップ時に対応、また、hidden属性の項目について変数化すべきか否かについて思案中
    • ISBNコード検索
      • 以前より気がかりだったISBNコードへハイフンを付与するロジックがあまり気に入っていなかった件で、若干手直し
        2桁目〜9桁目間のハイフンの挿入位置が可変であることから、パターン毎に挿入位置のみ決定して、まとめて編集するようにした
if      (pub < 20) {
        var pos = 3;  //    1桁+2桁+6桁+1桁
} else if  (pub < 70) {
        var pos = 4;  //    1桁+3桁+5桁+1桁
} else if  (pub < 87) {
        var pos = 5;  //    1桁+4桁+4桁+1桁
} else if  (pub < 90) {
        var pos = 6;  //    1桁+5桁+3桁+1桁
} else if  (pub < 95) {
        var pos = 7;  //    1桁+4桁+2桁+1桁
} else {
        var pos = 8;  //    1桁+3桁+1桁+1桁
}
var isbn  = asin.substring(  0,  1) + '-';
    isbn += asin.substring(  1,pos) + '-';
    isbn += asin.substring(pos,  9) + '-';
    isbn += asin.substring(  9, 10);
  • 宮城県図書館の入力フォームの非表示(ISBNコード)
      • 宮城県図書館がパラメータをPOSTでしか受け取らないため入力フォームでSubmitしていたが、別にISBNコードを手入力するわけではないのでコードを非表示にした
スクリプトの一覧とダウンロード先

雑記

  • Greasemonkey本体がアップデートの対象であったため更新を行ったが、インターフェースが変わってしまいなんだか違和感を感じる
    インストール時に「ソースを表示する」を毎回選択しないと何も分からずにインストール出来てしまう。
    また、開発時にはGreasemonkeyスクリプトD&Dせずに、Firefoxスクリプトを表示したままにしておいて、リロード、インストールボタン押下の順でインストールが出来て便利だったのだが…