アマゾン・サーチボックスの挙動: これは仕様? それともバグ

このページはバグ確認用の見本です。Amazonの技術の方からは、バグ報告に対して確認したとの連絡は来ません。しかも修正には数ヶ月を要します。正規のページを放置するわけにはいかず、一時的に入れ替えるので、提示用として置いてあります。


上記のサーチボックスのスクリプトは以下のようです。★は伏字です。
<script charset="utf-8" type="text/javascript">
 amzn_assoc_ad_type = "responsive_search_widget";
 amzn_assoc_tracking_id = "★-22";
 amzn_assoc_marketplace = "amazon";
 amzn_assoc_region = "JP";
 amzn_assoc_placement = "";
 amzn_assoc_search_type = "search_box";
 amzn_assoc_width = "auto";
 amzn_assoc_height = "auto";
 amzn_assoc_default_search_category = "Music";
 amzn_assoc_default_search_key = "";
 amzn_assoc_theme = "dark";
 amzn_assoc_bg_color = "000000";
</script>

<script src="//z-fe.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&Operation=GetScript&ID=OneJS&WS=1&MarketPlace=JP"></script>
初めから垂れ幕が表示され、その中に検索結果が表示されるようになっています。しかし、初めにこれを設置した時には、垂れ幕なしの、検索結果は別ページが開き表示されるようになっていました。
そこで動作を色々と調べたところ、
amzn_assoc_width = "auto";
amzn_assoc_height = "auto";
の可変幅ではなく
amzn_assoc_width = "500";
amzn_assoc_height = "80";
など固定幅の時には、垂れ幕のない、簡素な形で表示されるようです。ここで以下の箇所の値を次のように変更します。
amzn_assoc_search_type = "search_widget";
この時には可変幅でも、固定幅でも、垂れ幕表示になります。ここで以下のように設定すると
amzn_assoc_default_search_key = "Stevie Ray Vaughan";
検索語は「Stevie Ray Vaughan」と解釈して検索結果を垂れ幕に表示します。
しかし、可動幅でもある程度、例えば横幅185くらい以下の入れ物だと、垂れ幕表示はなくなります。たぶん、検索結果が上手く垂れ幕の中に入らないからでしょう。
このひとつ前のバージョンのものも同じですが、とにかくJavaScriptを使ったサーチボックスは表示が遅い。何より第一に気に食わないのは、別に勧めるつもりのない余分な商品を表示することです。リンク先に並べてもらうのは構いませんが。
そこで、固定幅、可変幅に関わらず
amzn_assoc_search_type = "search_box";
を設定してある時には、垂れ幕表示なしにする。
※これはアマゾンの設定画面上で「ウィジェットに検索結果を表示」をチェックを外した時に該当します。
amzn_assoc_search_type = "search_widget";
を設定してある時には、垂れ幕表示にする。
※「ウィジェットに検索結果を表示」をチェックして、キーワードを入力した時に該当します。

というたかだか二択問題だと思い問い合わせているところです。バグか仕様かの問い合わせです。なぜなら本当は、上に書いたように単純ではなく、垂れ幕になっていたり、消えていたり、また不思議なのは、別々のページに設置した場合に、二つのページを往復するのを何回か繰り返すと、表示するたびに違い、予測不能な動作になったりしていたからです。(現在は安定していますが)
こうなると、他の条件での動作が疑わしく思えます。しかし、同一ページ内に異なった横幅のものを複数個設置したらどうなるのか、などは試していません。サイトを実験室にするのは面倒です。

『Amazon.co.jp は、お客様からのご意見により、地球上で最もお客様を大切にする会社を目指しています。
ご利用ありがとうございました。』

という謳い文句の会社からの返事はまだありません。

※設定は設定画面でアマゾンが用意した設定画面で指定しますが、手動でコードを書き込めば、矛盾した設定も可能です。例えば以下のようにです。私の希望する仕様だった時に一度試した限りでは上手く処理していたようです。
amzn_assoc_search_type = "search_box";
amzn_assoc_default_search_key = "Stevie Ray Vaughan";
検索語は正しく無視されました。優先順位はきちんとしているようです。

[追記]
2015年5月29日に確認したところ、Amazon内の設定画面上でも、実際に設置した画面上でも、きちんと動作するようになりました。

[追記]
2015年9月14日頃から、また元の木阿弥になったようです。Amazon内の設定画面上でも、動作がおかしくなっています。パラメーターをきちんと設計し把握しているなら、何故こうもふらふらしているのか理解に苦しみます。

[追記]
2015年11月中旬頃に修正を確認しました。携帯の縦横と、検索ボックスの幅との連動の不具合も修正されています。


amzn_assoc_default_search_category = "";
というのは検索のジャンルを設定するものです。ここではコードを直接書いて説明していますが、普通はコードを手動で記述するのではなく、アマゾンが用意した設定画面上で設定します。
ジャンルの初期設定を「お酒」にします。すると検索ボックスの画像には、ジャンル名が「お酒」と表示されます。
ジャンルの初期設定を「食料&飲料」にします。すると検索ボックスの画像には、ジャンル名が「お酒」と表示されます。アルコール依存症になったお笑い芸人のような仕様ですが、気に入りました。きっと仕事しながら「酒が飲める、酒が飲める、酒が飲めるぞ~」と歌っている愉快な場面が想像できます。
この時、両者とも
amzn_assoc_default_search_category = "Grocery";
となっています。これをなかなか修正できずに手を焼いているようですが、修正しない方がよい。ジュースを注文しようとしたら、表紙にお酒と書いてあるメニューを渡された。なんとも愉快です。

※ただし、実際にサイトに設置した画面では、選択肢を表示するプルダウンメニューから選ぶ場合(設置した最初の状態ではなく)には、「お酒」を選ぶと「お酒」、「食料&飲料」を選ぶと「食料&飲料」と表示されます。
設定画面上で背景色の設定ができます。希望の色をただ単にカラーチャートから選ぶのですが、例えばピンク色を選んでもピンク色になりません。
amzn_assoc_theme = "light";
amzn_assoc_bg_color = "E70D0D";
などのようにかなり赤い色を選んでやっとピンク色になります。何をやっているのか見当もつきませんが、宴会場の奇術だと思えば楽しいでしょう。
amzn_assoc_theme = "dark";
の場合には、背景色の選択はまったく無意味で、元の黒色背景のままです。
2015年3月10日