お知らせ: にーやんのブログ 2 に移転しました。こちらのブログは、2009 年末までに削除します。

スポンサード リンク

あまびき開発日誌 #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 商品検索サイト「あまびき」の開発中につけていたメモを、ブログ用にまとめ直したものです。

Page 5 of 9: « 1 2 3 4 5 6 7 8 9 »