Amazon 検索サイト「amabiki(あまびき)」を更新
amabiki - Amazon 検索 を更新しました。Google App Engine を使った Amazon.co.jp/Amazon.com/Amazon.co.uk 検索サイトです。
Google App Engine SDK 1.0.2 でクエリ文字列を含む URL のデータが取得できない件の影響が気になりましたが、更新しても問題なく動いているようです。
主な変更点
- 追加: Amazon.co.uk 対応。
- 修正: Internet Explorer 6/7 で、お取り置き欄の商品のダブルクリックが動作しなかったのを修正。
- HTML に onDblClick 属性を埋め込んでいたのを、JavaScript でイベントを追加する方式に変更。
- 変更: 商品リンクのコードを微調整。
- 追加: フッタにリンク(App Engine と Amazon)を追加。
- Google App Engine のロゴは、Downloads - Google App Engine - Google Code からダウンロードできます。
Amazon 検索「あまびき」を Google App Engine バージョンに移行
Google App Engine - Google Code の勉強もかねて作ってきた Amazon 検索アプリを「あまびき」の新しいバージョンとして公開することにしました。まだ作りかけですが、いろいろ勉強しながら、もうちょっと何とかしていくつもりです。
デフォルトではメッセージが英語になっていますが、右上の「Japanese」をクリックすると日本語表示に変更されるはずです。
特徴
- 日本語表示と英語表示の切り替えが可能。
- Amazon.co.jp と Amazon.com (のどちらか)から検索可能。
- 画像のドラッグ&ドロップでお取り置き(Cookie を利用)。
- 2008-05-05 現在、ブラウザを閉じると消えるようになっています。
- 画像をダブルクリックで商品ページが見られる変態仕様。
- 簡易 HTML リンク作成機能(商品ページから)。
今後の予定(主なもののみ)
- JavaScript 無効時の表示を何とかする。
- ドラッグ&ドロップを活かして何かする。
- ユーザー認証とデータストアを勉強して、何か機能を追加するか考える。
- Python を勉強する。
というわけで、まだ途中ですが、「あまびき開発日誌」は休止します。メモは取ってありますので、何か役に立ちそうな情報があれば、別途、記事にまとめるかもしれません。
【追記】新しいバージョンでは、Yahoo! ウェブ検索サービスは利用していません。Amazon Web サービスを使った検索のみ可能です。
あまびき開発日誌 #37 ~ #40
あまびき開発 37 ~ 40 日目。
37 日目
- Yahoo! 検索 Web サービスで検索した場合に、お取り置き欄のレイアウトが崩れていたのを修正。
- 前日、CSS で角を丸くした際に Yahoo! 経由での検索結果表示時の高さ調整を忘れていたのが原因。
- 検索結果表示欄とお取り置き欄の overflow 属性の設定を auto から scroll に変更。その親要素の overflow 属性を hidden にし、高さをより低くすることによって横スクロールバーを隠す。
38 日目
商品タイトルが長い場合には省略することにした。下のような感じで substr を使ってみたが、日本語でも問題なくカットできた(みたい)。
// 例:
var $title = $("Title", this).text();
if($title.length > 48){ // 48 文字より多い場合はカット
var $shorttitle = $title.substr(0, 48) + "..."; // 末尾に ... を追加
} else {
var $shorttitle = $title;
}
39 日目
Creators の Role 属性も取得して、「作者名(Role)」という形で表示することにした。Role 属性の値は attr() を使えば取得できる。
// 例:
var $role = $("ItemAttributes/Creator").attr("Role");
40 日目
- 検索フォームを JavaScript で生成するのをやめた。読み込んだときに、Opera で一番最初の select メニューが選択されないため。
- 「便利な機能」のヘルプを追加。
- jqueryselectcombo プラグインを 1.2 に更新したら IE で動作しなくなったので、結局 1.1 に戻した。Firefox では 1.2 も動くが、メインの select メニューを変更するたびにサブメニューの要素数が返ってくる(Firebug のコンソール画面で確認)。
この記事は、Amazon.co.jp 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。
あまびき開発日誌 #34, #35, #36
あまびき開発 34 日目、35 日目、36 日目。
34 日目
これまでは検索フォームの角を丸くするために jQuery の corner.js プラグインを使用していたが、CSS と画像を使って角を丸くすることにする。JavaScript を使わなくてもいい部分はなるべく使わないようにするためと、画像を使ったほうがより凝ったデザインにできるため。
いろんな方法があるようだが、とりあえず Another attempt at CSS rounded-corner dialogs using the sliding doors technique を試してみる(via. CSSで角をもっと丸くする方法いろいろ - GIGAZINE)。
今日は画像を作成したのみ。
35 日目
- お取り置き欄に取り消しボタンとクリアボタンを追加。
- ヘルプメニューのリンクを JavaScript で後から生成するようにした。
36 日目
34 日目(上記参照)の続き。
画像は、廉価版が出た時に買った Paint Shop Pro 7 を使って作成。幅を短めにしてしまったせいで何度か作り直したりした末に、何とか完成。
代わりに corner.js の使用を停止。
この記事は、Amazon.co.jp 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。
あまびき開発日誌 #32, #33
あまびき開発 32 日目 と 33 日目。
32 日目
微調整のみ。
- index.html に JavaScript がオフの場合や読み込みに時間がかかる場合に表示されるメッセージを追加。
- 画像の修正(ウィッシュリスト追加ボタンなど)。
33 日目
お取り置き機能の実装。
jQuery の clone() を使ってサムネイル画像とリンクボタンを複製し、お取り置き欄に append する。どの商品を複製対象にするかは、クリックした商品の ID から判断する。
お取り置き機能とは
- 気になった商品を検索結果画面右の「お取り置き欄」にクリップする機能。
- 再検索ボタンで検索画面に戻ってもお取り置きした商品はそのまま残る。
ただし、この時点では Cookie には未対応。このため、ブラウザを閉じると、お取り置きも消える。
この記事は、Amazon.co.jp 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。



