pages
Archives
- 2010 年 2 月 (3)
- 2010 年 1 月 (9)
- 2009 年 12 月 (14)
- 2009 年 11 月 (3)
- 2009 年 9 月 (1)
- 2009 年 8 月 (2)
- 2009 年 7 月 (2)
- 2009 年 6 月 (1)
- 2009 年 4 月 (3)
- 2009 年 3 月 (4)
Blogroll
- Ext Japan - ExtJSの日本語サポートを行っています。
- ExtJapan - 日本語APIドキュメントもあります
- 蜘蛛の糸をつむぐには - ExtJSのまとめ情報あり
Firefoxだけで出ていた不具合です。FireFoxのバージョンは異なると思われますが,ここで報告されているものと現象としては同じです。
対策としてはすべてiframeの中身がロードされているかどうかをチェックしてロードされるまで待ってからExtJSを実行してやればいいわけで,とりあえず対策だけ取っておきました。
if (Ext.isGecko) {
var iframes = document.getElementsByTagName(’iframe’);
var count = 0;
var loaded = false;
for (var i = 0; i < iframes.length; i++) {
iframes[i].onload = function () {
count++;
if (count >= iframes.length-1 &amp;amp;&amp;amp; !loaded) {
loaded = true;
//ここに本来実行すべき処理を記述
YAHOO.util.Get.script(urls, myHandler);
}
};
}
} else {
YAHOO.util.Get.script(urls, myHandler);
}
やっていることは,次の通りです。
Firefox系のブラウザであればすべてのiframe要素を取得
その要素にonloadイベントを設定
onloadイベントの中でロードが完了したiframeの数を数えておいて,完了したら本来実行すべき関数を呼び出す
とりあえずこれで動いているので,よしというところですかね。
今日,確認のためにIEでサイトを表示させたところ,「16進数を指定してください」というエラーが発生。
どうもYahoo!ショッピングからのデータを取得しているところで出ている様子。ところが同じデータでもFireFoxではエラーが発生しない…。
で,問題のデータをよ〜く見てみたところ以下のようなデータでエラーが出ていることを発見
\x{d7}143(D)\x{d7}21(H)mm (\u7a81\u8d77\u90e8\u5206\u3092\u9664\u304f) \u25cf\u8cea\u91cf:\u7d04380g
問題はどこかというと”\x{d7}”とは”\x{d7}”の部分。FireFoxでは問題なく読み取ってくれるのだが,IEではこれがエラーになるみたい。
でどうするかというと,”\x{d7}”の部分が”\00d7″となるように変換してやればOK。この質問で取り上げられていることと原因・対策ともに同じでOK。
価格情報にAmazonの情報を表示するようにしました。Amazon Web Servicesを利用して実現しています。
実際にAmazonから価格情報を取得する部分は Service_Amazonを利用させていただきました。おかげさまで比較的ちゃっちゃと作ることができました。
Service_Amazonをインストールすることのほうが大変でした。レンタルサーバーを利用しているので,PEARのモジュールを勝手に入れることができません。入れるとすれば,自分のユーザーディレクトリに入れる必要があります。そうなるとディレクトリの設定やらなんやらで面倒そう…ということで,「Amazonは後回し」になっていたのでした。
参考にしたのはこんなところ。
http://zenryokuhp.com/server/sakura_pear.htm
http://pear.php.net/←go-pear.phpをダウンロードするここからどうぞ
http://blog.technology-knowledge.jp/2007/12/13/64/
とりあえず無事にインストールできて良かったです。先達たちに感謝。
Wordpress theme by Wordpress Themes & made free by Internet Marketing Center
Edit here in the footer.php
