ブラウザでweb上のxmlを取得して内容を表示しようとしています。
windowsXPprosp2.0でIE6.0では動作を確認しています。
スクリプトの詳しいところは実際はよく分かっていませんがコピペに手を加えて現在の形になっています。
<title>テストページ</title>
function myCheck() {
var r = null;
if (typeof window.XMLHttpRequest == "undefined") {
if (typeof window.ActiveXObject == "function") {
try {
r = new ActiveXObject("Msxml2.XMLHTTP");
r = window.XMLHttpRequest = myXMLrequest()
{
r = new ActiveXObject("Msxml2.XMLHTTP");
}
}
catch (e) {
try {
r = new ActiveXObject("Microsoft.XMLHTTP");
r = window.XMLHttpRequest = myXMLrequest()
{
r = new ActiveXObject("Microsoft.XMLHTTP");
}
}
catch (e) {
}
}
}
// else if () { }
}
// else { }
r.onreadystatechange = function() {
if ( ( r.readyState == 4 ) && ( r.status == 200 ) ) {
以下続く
try catchの処理でIEとFierfoxなどのブラウザ分けをしていると思っているのですが教えてください。
Firefox2.0 Opera9ともに画面が真っ白で何も表示されません。
よろしくご教授ください。
No.1
- 回答日時:
ActiveXObjectはIE用です
http://diaspar.jp/node/50
あたりが参考になると思います
ちなみにGoogleで「activexobject firefox」で検索した時の1つめです
うまくいかない原因が判明している時は、検索してみるのもいいと思います
この回答への補足
HIRSYUさん
ご回答ありがとうございます。
ご指摘のサイトは閲覧済みです。サイト軽視のスクリプトも試しています。
一覧表もよく出来ていますがいずれもブラウザのバージョンが最新版ではありません。
Firefoxは2.0011を入れてしまったので1.5の挙動は分かりません。
現行のFirefoxでも作動するスクリプトを求めています。
よろしくご指導ください。
No.2ベストアンサー
- 回答日時:
ご提示のソースの場合、FireFoxでは最初のif文の中が実行されません(Operaも同様)。
以下のスクリプト(最初のifの中身です)をIE・FireFoxで実行していただくと
alert(typeof window.XMLHttpRequest == "undefined");
IEの場合…true
FireFoxの場合…false
Operaの場合…false
と表示されるのが確認できると思います。
つまり、FireFoxではそもそも最初のif文の中に入れないので、必然的にrがnullになります。
とりあえずFireFoxで動くようにするのであれば、else文を追加して
r = new XMLHttpRequest();
を実行するようにしてやればいいと思います。
なお、IE5以前などの古いブラウザを対象としないのであれば以下の記述だけで充分です。
var r = null;
if ( typeof XMLHttpRequest != "undefined" ) {
// IE以外
r = new XMLHttpRequest();
} else {
// IEの場合
r = new ActiveXObject("MSXML2.XMLHTTP");
}
この回答への補足
guppy_i2様
ありがとうございます。
結論から言いますと私の大きな勘違いだと思います。
クロスドメインを想定していましたのでたぶんご指摘の方法でも無理だと思います。
実際elseの追加、
ご掲示のソースとの張替えを実行しましたが無理でした。
if ( ( r.readyState == 4 ) && ( r.status == 200 ) ) {
以下のopenでしているファイルが外部のURLです。
ありがとうございました。
念のため2,3日待って閉鎖しお礼するつもりです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一定時間ごとの実行
-
Excel VBA にて JavaScript の...
-
ラベルの色がかわってくれない
-
時間稼ぎの命令文とは?
-
alert()が実行できない
-
JavaScriptでショートカットキ...
-
JSPの処理の途中で、JavaScript...
-
OnTime を使って、分間隔で実行...
-
2回目のSortメソッドが失敗~20...
-
計算結果が毎回違う。
-
eval()の危険性の具体例を教え...
-
jspで、javaを呼び出すときの引...
-
リクエスト結果が一瞬しか表示...
-
C#でボタン名を変更しても動く
-
デザイン時のVisible=Falseは実...
-
再帰呼び出しになってしまうの...
-
jqueryのbxsliderをマウスオー...
-
初心者です。gulpでコンパイル...
-
アクセスのフォームでタイマー...
-
PowerPointで時計表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
if(1){...}とはどういうことで...
-
JSPの処理の途中で、JavaScript...
-
デザイン時のVisible=Falseは実...
-
1つのVBAコードをすべてのコア...
-
〔Excel:VBA〕マクロの実行が異...
-
以下のコードを実行しても、オ...
-
PowerPointで時計表示
-
C#でボタン名を変更しても動く
-
jQuery ui Datepicker 明日以降...
-
初心者です。gulpでコンパイル...
-
リクエスト結果が一瞬しか表示...
-
innerHTMLなどの反映タイミング
-
既存のwebサイトで、ローカルの...
-
JavaScriptで、実行するたび値...
-
VBA ステータスバー DoEvents
-
VBA SORT Applyでエラー
-
resizeToメソッドが動作しません
-
Excel VBA にて JavaScript の...
-
eval()の危険性の具体例を教え...
-
ラベルの色がかわってくれない
おすすめ情報