重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

jqueryを使用して、外部のhtmlファイルから各ページ共通のサイドメニューを読み込んでいます。
fairefox、及びIEの8から6までは動作を確認しているのですが、IEの5.5だけは読み込み時に、『オブジェクトでサポートされていないプロパティまたはメソッドです。』というスクリプトのエラーがおきてしまいます。
エラー部分はおそらく.load部分だと思います。
IE5.5でもjqueryはクロスブラウザで対応しているはずですし、他のブラウザで確認がとれているのになぜ、5.5だけエラーがでてしまうのでしょうか?

ちなみにhead部分でjqueryと作成した外部ファイルを読み込んでいます。
作成したjsのソースです
-----------------------------------------------
var urlflag = location.href+"";
if ( urlflag.indexOf( "aaa ) == -1 || urlflag.indexOf( "bbb" ) == 23 ){
  $(document).ready(function(){
$("#left_box").load("test_a.jp #lbox_inner");
$("#top_right_box").load("test_a #rbox_inner");
});
}
else{
$(document).ready(function(){
$("#left_box").load("test_b.jp #lbox_inner");
$("#top_right_box").load("test_b #rbox_inner");
});
}
-----------------------------------------------
ソース部分に誤りがあるか、もしくは呼び出すタイミングなどの問題でしょうか?
かなり調べて見ましたがこれ以上は思い当たる節が見つかりません。
何か回避策などあるようでしたら、どなたか是非教えていただけないでしょうか?

A 回答 (2件)

jQueryが動作検証されているのは、


Firefox 2.0+, IE6+, Opera 9+,Safari 3+,chrome 1+
です。
IE5.5について非互換部分を見ると
http://docs.jquery.com/Known_Issues


Simple class selectors like ".myClass" fail in IE 5.5. Workaround: select "div.myClass" instead.

とあります。

だから、
"#left_box"は"div#left_box"のようにすればOKかも(left_boxがdivの場合ですが)

この回答への補足

お早い回答にとても感謝しています。
教えていただきました通りにしてみましたが、残念ながらIE5.5のみ動作しませんでした。
このような仕様になったのも、各カテゴリ毎にCMSでサイドメニューのみを別で管理して、ページ毎に組み合わせるという方法をとっているためです。
cmsを使用しているので、吐き出されたhtmlファイルにはheadタグなどが記述されているので、指定のID部分だけを抽出できるjqueryの load()メソッドを使用しました。もし回避策がない場合、他に指定の箇所だけを抽出できる方法はないでしょうか?
prptotype.jsでもincludeがありますが、その場合は指定した場所を読み込む事は可能でしょうか?
SSIなど、可能であれば方法は問わないのですが…。

補足日時:2010/06/24 17:56
    • good
    • 0
この回答へのお礼

大変参考になる回答をいただきまして、非常に助かりました。その後他の策もいろいろ検討はしてみたのですが、今回はこのままで行く事にしました。ブラウザの普及の状況や諸々を考慮して、おっしゃられていた様にie5.5のユーザーには別方法で誘導する事に致します。
当方の知識もまだまだ未熟なの事が原因でもありますが、これからもっと知識を蓄えて様々な状況に対応できるようにしていきたいと思います。

お礼日時:2010/06/25 11:10

SSIを使うとか、XMLHttpRequestのレスポンスを詳細にパースしてDOMを生成


とか、方法はあるかもしれませんが、ちゃちゃと出来ないようなら、
苦労してまで、IE5.5を救ってやる価値は無いでしょう。それを使っている人が不幸です。
IE5.5以外で動作してるならIE5.5は見捨てましょう。ユーザーエージェントを判断してIEのバージョンが古ければ、使用できない旨のポップアップを出すなり、ダウンロードサイトに誘導するなり...
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!