業務用ブックマークレット
業務用に作成したのでメモ。
琉大図書館の蔵書検索の書誌詳細画面から、書名やパーマリンク所蔵情報を抽出して新規ウィンドウで開きます。蔵書検索の詳細画面では、本の出納に必要な情報だけ、コピペするのが面倒なので作成しました。
保証の限りではありませんが、NTTデータ九州の図書館システムNALISを利用している機関であれば動くのではないかと思います。
使い方
- 蔵書検索の書誌詳細画面で、ブックマークをクリックします。仮に以下のURLで使用したとします。
http://opac.lib.u-ryukyu.ac.jp/cgi-bin/opc/opaclinki.cgi?ncid=BB05322264
- 新規ウィンドウが開き、以下のような情報が表示されます。
変数名を短くしたので、可読性は低いですがコードはこんな感じです。
var eCN = function (tR2) { var fD = tR2[0].children[0].children[0].innerHTML; var sD = tR2[1].children[0].children[0].innerHTML; var tD = tR2[2].children[0].children[0].innerHTML; return fD.replace(/\s+/g, "")+"/"+sD.replace(/\s+/g, "")+"/"+tD.replace(/\s+/g, ""); }; var eD= function (tableRow,cellsLength) { var rA = []; if (cellsLength==6) { if (tableRow.cells[0].innerHTML == " ") { rA[0]="--"; } else { rA[0]=tableRow.cells[0].innerHTML; } rA[1]=tableRow.cells[1].children[0].innerHTML; rA[2]=eCN(tableRow.cells[2].children[0].children[0].children); rA[3]=tableRow.cells[3].innerHTML; rA[4]=tableRow.cells[4].innerHTML.replace("<br>", " "); } else if (cellsLength==4) { rA[0]="--"; rA[1]=tableRow.cells[0].children[0].innerHTML; rA[2]=eCN(tableRow.cells[1].children[0].children[0].children); rA[3]=tableRow.cells[2].innerHTML; rA[4]=tableRow.cells[3].innerHTML.replace("<br>", " "); } return rA; }; var elms = parent.contents.document.getElementsByClassName("tbl_table"); var ncid=parent.contents.document.forms.exportd.lnk_ncid.value; var bT=parent.contents.document.forms.exportd.lnk_title.value; var rowLen=elms[0].rows.length; var rL=[]; for( var i = 1; i<rowLen ; i++ ) { var rowCounter=elms[0].rows[i].cells.length; rL.push(eD(elms[0].rows[i],rowCounter)); } var rT=""; for (var i in rL){ if (rL[i].length==5){ rT+=rL[i][0]+" | "+rL[i][1]+" | "+rL[i][2]+" | "+rL[i][3]+" | "+rL[i][4]+"<br/>"; } } (function () { var win = window.open(); win.document.write("<html><head><title>書誌情報</title></head><body></body></html>"); win.document.body.innerHTML = "<p>-------</br>書名 : "+bT+"<br/>"+"URL: "+"http://opac.lib.u-ryukyu.ac.jp/cgi-bin/opc/opaclinki.cgi?ncid="+ncid+"<br/>"+"巻号 |所在 | 請求記号 | 図書ID| 資料状態<br>"+rT+"</p>"; })();
これを以下のサイトで圧縮?しました。
http://ted.mielczarek.org/code/mozilla/bookmarklet.htmlted.mielczarek.org
Javascriptはさっぱりなので、もっと効率の良い方法などあればご指摘いただければ幸いです。
ブックマークレットの使い方や自分でも作ってみたいという方は、id:haseharuの以下の記事もご参考に。haseharu.hatenablog.com