bk1と7&Yからも図書館へ飛ぶスクリプトを作ってみる(サンプル)

全図書館用を作るのもげんなりなので、サンプルと直し方を少々

画面サンプル

スクリプトのサンプル

bk1
// ==UserScript==
// @name          bk1 Iwaki City Lib linky
// @namespace     natu.blue.coocan.jp
// @description      Iwaki City Library Lookup from bk1 listings.
// @include       http://www.bk1.co.jp/product/*
// ==/UserScript==

//■検索ページのURL。プログラム内では、このURLにISBNを付加して呼び出します
var TARGET_URL_1     = " 〜 略 〜
var TARGET_URL_2     = " 〜 略 〜
//■検索結果の文字列。_1は英字、_2はUNICODEにエンコードされた全角文字を設定
var LIB_NAME_1       = "To Iwaki City Library";
var LIB_NAME_2       = "いわき市立図書館";
//■ハイフンを付与するか否か 1:付けない 2:付ける
var DASH             = 2;

libsearch();

function libsearch() {
    var n=document.body.innerHTML;
    var ai=n.indexOf("ISBN");
    if (ai > 0){
        var asin=n.substring(ai+7,ai+20);
        if (DASH == 1) {
            asin = asin.replace(/0/g,"-");
        }
        var header = document.getElementsByTagName("h1")[0];
        if (header) {
            var spl_link = document.createElement('a');
                spl_link.setAttribute('href', TARGET_URL_1 + asin + TARGET_URL_2);
                spl_link.setAttribute('title', LIB_NAME_1);
                spl_link.innerHTML = '<span style=\"font-size:90%;\">&raquo; ' + LIB_NAME_2 + '</span><br>';
            header.parentNode.insertBefore(spl_link, header.nextSibling);
        }
    }
}
7&Y用
// ==UserScript==
// @name          7andY Iwaki City Lib linky
// @namespace     natu.blue.coocan.jp
// @description      Iwaki City Library Lookup from 7andY listings.
// @include       http://www.7andy.jp/books/detail*
// ==/UserScript==

//■検索ページのURL。プログラム内では、このURLにISBNを付加して呼び出します
var TARGET_URL_1     = " 〜 略 〜
var TARGET_URL_2     = " 〜 略 〜
//■検索結果の文字列。_1は英字、_2はUNICODEにエンコードされた全角文字を設定
var LIB_NAME_1       = "To Iwaki City Library";
var LIB_NAME_2       = "&#x3044;&#x308f;&#x304d;&#x5e02;&#x7acb;&#x56f3;&#x66f8;&#x9928;";
//■ハイフンを付与するか否か 1:付けない 2:付ける
var DASH             = 2;

libsearch();

function libsearch() {
    var n=document.body.innerHTML;
    var ai=n.indexOf("ISBN");
    if (ai > 0){
        var asin=n.substring(ai+5,ai+18);
        if (DASH == 1) {
            asin = asin.replace(/0/g,"-");
        }
        var header = document.getElementsByTagName("big")[0];
        if (header) {
            var spl_link = document.createElement('a');
                spl_link.setAttribute('href', TARGET_URL_1 + asin + TARGET_URL_2);
                spl_link.setAttribute('title', LIB_NAME_1);
                spl_link.innerHTML = '<br><span style=\"font-size:90%; background-color:#ffffcc;\">&raquo; ' + LIB_NAME_2 + '</span>';
            header.parentNode.insertBefore(spl_link, header.nextSibling);
        }
    }
}

手修整部分

どちらも// ==UserScript==の@nameを@descriptionを手直し、var TARGET_URL_1の前〜var DASH迄を適用したい図書館のAmazon用のスクリプトから複写する

サンプル版をダウンロード

備考

  • どちらもISBNコードにハイフンが付与されているので、スクリプトは短め
  • 画面レイアウトが変更されてもたぶん大丈夫なように、あえてリンクの挿入位置を決めています(唯一っぽいtagを指定)
  • 書名検索版はリンクの挿入位置は上記サンプルを参照、書名はbk1は〈H1〉タグ、7&Yは〈STRONG〉タグの1個目の値を使用するとOK