人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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



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

●質問者: wakannaidesu
●カテゴリ:インターネット ウェブ制作
✍キーワード:firefox Mozilla opera スクリプト 対応
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● coliss
●10ポイント

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

Ajaxはじめの一歩 XMLHttpRequest

◎質問者からの返答

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


2 ● ardarim
●35ポイント

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の異常を疑ったほうが良いかと思います。

◎質問者からの返答

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

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


3 ● ardarim
●40ポイント

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

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


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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ