あまびき開発日誌 #24
あまびき開発 24 日目。
ヘルプメニューのプルダウン化
ヘルプメニューを小分けにしたい、でもスペースは取りたくない。というわけで、プルダウンメニューを実装することにした。
デモを見て、とりあえず jdMenu プラグインを使ってみることにする。
最初に jquery.jdMenu.packed.js を試したところ、エラーが出て使えなかった。圧縮されていない方の jquery.jdMenu.js だと問題なかったので、こちらを使うことにする。
表示されるまでのタイムラグが気になったので、次のようにして調整した。activateDelay と showDelay の違いは、後者はすでに表示されているリストがある場合の時間短縮バージョンらしい。
$('ul.jd_menu').jdMenu({
activateDelay: 200,
showDelay: 100,
hideDelay: 150
});
なお、jdMenu 1.3.beta2 を使うには、bgiframe プラグインと dimensions プラグインも必要とのこと。
この記事は、Amazon.co.jp 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。
あまびき開発日誌 #23
あまびき開発 23 日目。
jQuery を uncompressed 版に差し替え
jQueryのcompressed版は重い | ぷろじぇくと、みすじら。を読んで、uncompressed 版に差し替えてみた(via オレンジニュース(2007-07-26))
Yahoo! 検索の利用制限対策を追加
Yahoo! 検索 Web サービスの利用制限の上限を超えた場合の処理を念のため追加。Yahoo! 検索 Web サービスの利用制限および上限を超えた場合の XML レスポンスについては、Yahoo!デベロッパーネットワーク - Yahoo!検索 - 利用制限を参照。
Yahoo! 検索の URL から ASIN を取り出す
Yahoo! で検索した結果の URL に ASIN が含まれている場合は、アフィリエイト用の URL に置き換えるようにした。ASIN を取り出す正規表現は、[を] アマゾンの URL から ASIN を取得を参考にした。
ASIN は、「/dp/」、「/exec/obidos/ASIN/」または「/gp/product/」の次に来るようなので、indexOf を使って取り出してもいいかもしれない。amazlet.com のブックマークレット(amazlet ツール)では、そのようにやっているみたい。
scroll イベント関連でのバグ修正
再検索後も scroll イベントが残ったままになっていたのを修正。18 日目にマウスホールイベントを削除したときに、一緒にスクロールイベントの解除部分も削除してしまったのが原因。
この記事は、Amazon.co.jp 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。
あまびき開発日誌 #21, #22
あまびき開発 21 日目と 22 日目。
21 日目
- ヘルプの作成(未完成)。
22 日目
Yahoo! ウェブ検索 API 使用時の不具合をいろいろと修正した。
ページめくりの不具合を修正
Yahoo! で検索したときに、最終ページになってもページめくりが解除されなかったのを修正。
totalResultsAvailable, firstResultPosition, totalResultsReturned を使って、現在のページ番号、総ページ数、次の返却結果の先頭位置(検索 API の start パラメータ)などを求めていたが、この計算式が間違っていたのが原因。
キーワードに inurl を追加指定
Yahoo! ウェブ検索 API を利用する場合は、キーワードに inurl を追加指定して ASIN を含む結果だけを取得するようにした。商品ページ以外の検索結果がひっかかるのをなるべく避けるための措置。
「キーワード+inurl:/dp/」という風にキーワードに追加する。: や / はエスケープする必要あり。あるキーワードで検索したところ、inurl なしで 46 件のヒットだったのが、inurl ありだと 20 件になった。
URL に「/dp/」、「/exec/obidos/ASIN/」または「/gp/product/」という文字列を含むかどうかで判断しているだけなので、逆に ASIN を含んでいるのに結果に含まれないものが出てくる可能性もある。
inurl というクエリ構文の使い方については、[を] Yahoo! APIでサイトに含まれるページ数を知るを参考にさせてもらった。
総ヒット数の表示
Yahoo! ウェブ検索 API で検索した際、返却結果の先頭位置(start)を変更すると総ヒット数(totalResultsAvailable)が異なることがある。そこで、総ヒット数を表示するときは「約~件」というように「約」を頭に付けることにした。
あとで確認したところ、Yahoo! で検索した場合の検索結果画面でも「約何件」となっていることに気づいた。
その他
- ひきつづき、ヘルプの作成(まだ完成していない)。
この記事は、Amazon.co.jp 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。
あまびき開発日誌 #20
あまびき開発 20 日目。
複数の IE の共存
複数のバージョンの Internet Explorer(IE)での動作を確認するために、IE7 にバージョンアップしたあとで、Multiple_IE をインストールした。Multiple_IE はスタンドアローンで動作し、複数のバージョンの IE(IE3、IE4.01、IE5、IE5.5、IE6)を含んでいる。
Multiple_IE を使ってみた印象
- varp1.rhv.xpc-mii.net [64.191.192.117] に頻繁にアクセスしようとする。検索してもよくわからなかったので、とりあえずファイヤーウォールで Deny してみた。
- Multiple_IE の IE6 で見たトップページが、いままで使っていた IE6 で見ていたのと少し違う。具体的には、サイトタイトル部分の高さ(もしくはマージン)が大きすぎる。
- 追記: いつ頃からかわからないが、IE6 でも IE7 や Firefox と同じ(もしくは近い)高さで表示されるようになった。原因は不明(マージンかパディングの設定が影響か)。
- IE5.5 では、「あまびき」がほとんど使いものにならないことが判明。IE5.5 以前での動作保証をあきらめる。
Opera で Mouse Wheel Extension が機能しない問題
Opera では、マウススクロールによるページめくりがうまく動作しないことが判明。どうやら jQuery プラグインの Mouse Wheel Extension が機能していないらしい。
そこで Mouse Wheel Extension を使わずに、マウススクロールのみでページめくりができるように改造。これまではページの末尾で下方向にマウスホイールを回すとページ移動していたが、ある地点までスクロールダウンしたらページ移動するようにした。
動作検証用に Safari も導入
Safari 3 for Windows もインストールした。
Safari で丸角が黒くなる問題
Safari では、jquery.corner.js がうまく動作せず、角が黒くなってしまった。ホームページを見ると、次のように書いてあった。
JQuery Corner Gallery
Safari requires that an ancestor of the element being adorned has a background color set.(試訳: Safari では、装飾される要素の先祖(ancestor)が背景色の設定を持つことを必要とする。)
この記事は、Amazon.co.jp 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。
あまびき開発日誌 #18, #19
あまびき開発 18 日目と 19 日目。
18 日目
- 引き続き、細かい修正。
19 日目
- さらに細かい修正。
- 画像ビューワの配置、検索結果欄の高さ調整など。
- ヘッダの下にステータス欄を設置。検索ヒット数などを表示するのに使用。
この記事は、Amazon.co.jp 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。



