最高100pt差し上げます。jslb_ajaxのcreateHttpRequest()がIEだけに対応しないのですが…どうしたらよいでしょうか?




ちなみに、firefox,opera,mozillaには対応するのでスクリプトがうまく動作するのですが、IEだけはundifindが返ってくるので、どうしていいかわかりません。わかる方いらっしゃいましたらお願いします。最高100pt差し上げます。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2007/01/21 01:59:46
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:coliss No.1

回答回数79ベストアンサー獲得回数10

ポイント10pt

IEは異なるので、下記ページが参考になるでしょうか。

Ajaxはじめの一歩 XMLHttpRequest

id:wakannaidesu

jslb_ajaxはクロスブラウザのライブラリなので、当然、IEにはActiveXObjectが返ってくるはずなのですが…それが実行されていないようで…

2007/01/20 20:02:47
id:ardarim No.2

回答回数897ベストアンサー獲得回数145

ポイント35pt

jslb_ajaxのソースを見ると、createHttpRequest()はエラーが起きるとnullを返しているようなので、undefinedにはならないと思うのですが...

ちなみにIEのバージョンはいくつですか?


new ActiveXObject("Msxml2.xmlhttp")がundefinedを返している可能性を考えると、IEもしくはWindowsの状態が何かおかしくなっているのかもしれません。


アドレスバーで直接以下を入力してみてください。

javascript:alert(new ActiveXObject("Msxml2.xmlhttp"));

[object]というダイアログが表示されれば、jslb_ajaxでもちゃんと動作するはずだと思います。


何も起こらない場合→IEウィンドウの左下にエラーアイコン(!マーク)が出ていればダブルクリックしてみてください。エラーが起きています。IEまたはWindowsの異常を疑ったほうが良いかと思います。

undefinedというダイアログが表示される場合→IEまたはWindowsの異常を疑ったほうが良いかと思います。

id:wakannaidesu

[object]表示されました。というか、そもそもIEだと、createHttpRequest()関数内も通ってないようですcreateHttpRequest()関数の先頭にアラート表示するようにしても何も起こってません。IEはバージョン6なのですが、どこがおかしいんでしょうか?ブラウザのせいでしょうか?

ちなみに、自分はパソコン2台あって、両方IE6なのですが、両方ともcreateHttpRequest()関数すら動いていないようです。どうしたらよいでしょうか?すべてのIE6には対応しないということでしょうか…

2007/01/20 21:40:39
id:ardarim No.3

回答回数897ベストアンサー獲得回数145

ポイント40pt

「createHttpRequest()関数の先頭にアラート表示するようにしても何も起こってません」というのは、createHttpRequest()がそもそも呼ばれていない可能性が大きいです。呼んでいる側のスクリプトに何かブラウザに依存するコードがあって、createHttpRequest()が呼んでいる部分までたどり着いていないのではないでしょうか?

例えば、スクリプトコードの先頭で直接createHttpRequest()を呼んでみればちゃんと動くのでは?


スクリプトがどういう風になっているかわからないのでこれ以上の推測は難しいと思います。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません