もっとたくさん本を読みたい今日この頃
Amazon検索機能は上の画面のような感じで実現。検索結果から「詳細」「タイトル」「画像」などのリンクをクリックすれば、それに対応したkaeruspoonのAmazon記法がtextareaに書き込まれます。えっと、つまり、「はてな」の「はまぞう」のパクりです。
検索機能自体は、Amazon ECS4.0のItemSearchを使えば超簡単。パジネーション機能も持っているからホントに楽チンです。
ちょっと考えたのが、ポップアップしたウインドウからの操作で元のウインドウのtextareaの文字を変更するところ。Javascriptで以下のように作ってみました。
function amazon_print(asin, mode){
if (window.opener) {
var target = window.opener.document.getElementById('diary_text');
var text = target.value;
var point = target.selectionStart;
var before = text.substr(0, point);
var after = text.substr(point, text.length);
var ret = '';
if (mode != 'title') {
ret = "\n";
}
window.opener.document.getElementById('diary_text').value = before + "[amazon :" + asin + ":" + mode + "]" + ret + after;
}
}
‘diary_text’というのがtextareaのID値。これでtextareaのカーソルの位置にkaeruspoonのAmazon記法が追加されます。タイトル文字だけ表示するとき以外は、Amazon記法のあとに改行をいれています。この関数の呼び出しもとは以下のような感じ。
[<a href="", onclick="amazon_print('<%= item.asin %>', 'detail'); return false;" %>詳細</a>]
[<a href="", onclick="amazon_print('<%= item.asin %>', 'title'); return false;" %>タイトル</a>]
[<a href="", onclick="amazon_print('<%= item.asin %>', 'image'); return false;" %>画像</a>]<br/>
最初はどれかをクリックした時点でポップアップウインドウを閉じていたのだけど、同じ商品の詳細表示とタイトル表示を一緒にやったりすることが多いのでそれはやめました。「はまぞう」もそうだしね。
Amazon検索機能のおかげで、さらにkaeruspoonが便利になりました。今まではわざわざAmazonのサイトまでいって検索してASINを調べてAmazon記法を書いていたんだもんな。すばらしい。
チャット機能をちょっとだけ作ってみました。まだアルファ版です。ヒマを見つけてはちょこちょことよくしていきましょう。