• ベストアンサー

オブジェクト検出によるブラウザの判別

javascriptでオブジェクト検出によるブラウザの判別がしたいです。 IE,Firefox,googleChrome の判別を行いたいのですが、IEだけに対応しているプロパティ、Firefoxだけに対応しているプロパティ、GoogleChromeだけに対応しているプロパティが見つからないためif文が書けません。 これらのブラウザの判別を行うのに適しているプロパティはありますか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sora1515
  • ベストアンサー率58% (54/92)
回答No.1

ブラウザの判別 で検索したらいっぱい出てきましたね。 ここなどわかりやすいと思います。 http://www.pori2.net/js/navigator/1.html

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

スクリプトのためにブラウザを判別したいのだと想像しますが… 「ブラウザを判別」→「ブラウザで分岐」→「対応するスクリプトを実行」 とお考えと思いますが、 >だけに対応しているプロパティが見つからないためif文が書けません ブラウザのバージョンによっても対応状況が異なります。 それよりも、目的的に考えて、使いたいオブジェクトやメソッドが存在するかどうかを判別条件にした方が良いのではないでしょうか。 単に、どのブラウザかを知りたいだけなら、userAgentを見るのが一般的ではないでしょうか。

butamushi
質問者

補足

大学の課題でオブジェクトの検出によりブラウザの判定をすると指定されました。 どうにかできませんか?

関連するQ&A

  • ネットスケープ6を簡単に判別する方法?

    ブラウザの判別方法についてなんですが、IEとNN4の判別方法については雑誌などでよく見かけるのですが、NN6を簡単に判別する方法が載っている本が見つけられませんでした。 NN6を簡単に判別する方法を知っている方がいたら、教えて下さい。 ちなみに、IEとNN4は次のようなif文で判別しています。 if (document.all) {  // IE if (document.layers) { // NN4 また、NN6と「Mozilla」は、別のものとして判断しないといけないのでしょうか? (JavaScriptでできることに、大きな違いがあるのでしょうか?) それと、最近よく耳にする「Opera」というブラウザも、IEやNNとはまった区別の判定方法をしなければいけないのでしょうか? このMozillaやOperaのJavaScriptに関する情報を載せているページなどがありましたら、是非教えて下さい。

  • ブラウザが判別出来ない。

    お世話になっております。 JavaScriptの本を購入しました。 その本にブラウザ判定のスクリプトが掲載されており、それをそのままアップしたところ、私はIE6なのにIE4と判別されてしまいました。 下記がそのスクリプトです。 ちなみに、私はXPのIE6です。 このスクリプトはこれで完璧なのでしょか? また、出来ましたら、このスクリプトを試していただけたらと思うのですが・・・よろしくお願い致します。 <script language="JavaScript"> <!-- if( navigator.appVersion.charAt(0)==4){window.location.href = "nn4.html"} // NN Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "nn5.html"} // NN Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "nn6.html"} // NN Ver6 の場合 } if( navigator.appName.charAt(0)=="M"){ if( navigator.appVersion.charAt(0)==2){window.location.href = "ie2.html"} // IE Ver2 の場合 if( navigator.appVersion.charAt(0)==3){window.location.href = "ie3.html"} // IE Ver3 の場合 if( navigator.appVersion.charAt(0)==4){window.location.href = "ie4.html"} // IE Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "ie5.html"} // IE Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "ie6.html"} // IE Ver6 の場合 } //--> </script> <noscript>JavaScript を使用しています。JavaScript を有効にしてください。</noscript>

  • ブラウザ判別

    テーブル行をスイッチによって表示非表示を切り替える機能を実装してるんですが IEではtable-rowを入れてもエラーを出し NNやFirefoxではblockを入れるとレイアウトが崩れてしまい IEの場合block、NNやFirefoxではtable-rowを判別していれるようにしたんですが 切り替えているとなぜかたまにblockが入ってしまうことがあります //ブラウザ判別 if (document.all) { var display = 'block'; } else if (document.getElementById) { var display = 'table-row' } if(switch_1 == "on"){ document.getElementById('row1').style.display = display; document.getElementById('row2').style.display = 'none'; document.getElementById('row3').style.display = display; } if(switch_1 == "off"){ document.getElementById('row1').style.display = 'none'; document.getElementById('row2').style.display = display; document.getElementById('row3').style.display = 'none'; } 何かおかしいのでしょうか もしくは代替方法があればご教示お願いします

  • ブラウザの判別と外部jsの読み込み

    Javascriptによりブラウザを判別して振り分けようと考えています 2つの外部jsファイルがあり、仮に(A)と(B)とします MacのIE,safari,FireFox,NN、WinのFireFox,NNは(A)を読み込む WinのIEは(A)と(B)を読み込む 以上のようなものをさらに外部js(c)で設置しようと考えているのですが 構文が組めずに戸惑っています html→(c)を読み込み→MacのIE,safari,FireFox,NN、WinのFireFox,NN(A)読み込み        ↓        WinのIEは(A)と(B)読み込み ヒントやアドバイスをいただけますでしょうか? よろしくお願いします

  • .htaccessを使って、ブラウザ別の拒否はできますか?.htaccessを使って

    いま、Javascriptのページを作っています。 ゆくゆくは、様々なブラウザに対応したいのですが、現状、IEにしか対応していません。 Firefoxでアクセスする、バグが起こります。他のブラウザについては、調べていません。 そのため、.htaccessでブラウザを判別して、IEでなければ、IEでアクセスしてくださいという、お知らせページ(アクセス解析タグ入り=どのくらいの人が見れなかったのか、次に、どのブラウザに対応させれば良いのか知るため)にジャンプさせたいのですが、こういったことは可能でしょうか? もし、可能でしたら、教えていただけると幸いです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • ブラウザによる表示の違い

    今サイトを作成しています。 HTML、CSSをはじめて1年の初心者です。 ブラウザは普段基本的にFirefoxを使用しています。 サイトの表示確認をFirefoxとIE7で行っているのですが2つのブラウザで微妙に表示がずれてしまいます。 色々調べてJavaScriptでブラウザを判別させてそれぞれに対応したページを用意するようなことが書かれていたんですがいまいちやり方がよくわかりません、、 やり方知ってる方助けてください。 もしくは他の対処法があるんでしたら教えていただけると助かります。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • ブラウザによって異なる外部javascriptを適応させるには?

    現在作成しているページがあるのですが、 外部javascriptを読み込む仕様となっております。 ですが、javascriptがブラウザによって、 動作が異なることで頭を悩ませています。 ※firefox, ie6, ie7, operaの4つそれぞれ個別に指示したいと思っています。 従いまして、そこで考えたのが、推測なので、できるかどうかは分からないのですが、、、以下の2つの方法になります。 1.ブラウザ毎に一つのjsファイルを用意する。 →この場合、4つのブラウザに対応させる必要があるので、4つのjsファイルが必要になります。 →具体的な方法としては、一つの判別javascriptファイルを用意しておいて、その中でさらに4分岐させて、それぞれ別のjsファイルを読み込む? 以下がokweb内では、それらしいなと思いましたが、これはそのまま使うことができるのでしょうか。 http://okwave.jp/qa3365142.html 2.一つのjsファイル内で、ブラウザ毎に別々の命令文を書いておく。 →技術的に無理? おそらく、1番の方法が、私がネットで調べた限りは、有力そうなのですが、検索しても、非常に古い記事ばかりがヒットしました。 現在のトレンドともいうべき、最も信頼性の高いブラウザ判別の方法というのは何になるのでしょうか。 この場合、phpなど、サーバーサイドのプログラムは含まず、あくまでも、javascriptでの判別方法を具体的に助言していただければと思います。 宜しくお願いします。

  • あなたが使用しているブラウザーを教えてください。

    以下から選んで下さい。 1.IE8 2.IE7 3.IE6 4.IE5.5以前 5.IE以外のIEコンボネットブラウザー 6.Firefox4.0 7.Firefox3.6以前 8.GoogleChrome 9.Opera 10.Safari 11.その他 以上から選んで下さい。

  • オブジェクトブラウザの見方がよくわからないので教え

    オブジェクトブラウザの見方がよくわからないので教えてください。 例えば、 「Class Range Excel のメンバ」 を見ると、 「AddIndent 」だと「Property AddIndent As ”Variant”」 「Count 」だと「Property Count As ”Long”」 のように、変数の型が最後につきますが、 Cells →「Property Cells As ”Range”」 CurrentRegion→「Property CurrentRegion As ”Range”」 など、変数の型が「Range」になってる場合、 緑文字の「Range」の部分をクリックすると、 結局また「Class Range Excel のメンバ」に戻ってしまうのですがどうやって見ればいいのでしょうか? オブジェクトブラウザの使い方がよくわかりません。 「AddIndent 」や「Count 」など、変数の型で宣言されているプロパティと 「Cells」や「CurrentRegion」などrangeで宣言されているプロパティの違いを教えてください。

  • クロスブラウザに対応できるDOMは?

    現在htmlページでrss(XML)の中身を取り出すプログラムをJavaScriptを使って書いています。ただ、このDOMがかなりブラウザ依存性の強いもので、今のところIE上での動作しか確認できませんでした。 自分が確認可能な環境は、IE・NN・FireFox・Operaの4つです。これらすべてに対応させられる方法あるいは個別で対応できる方法(ブラウザを判別して処理分けします)はありませんでしょうか? phpやperlのプログラム部で処理する場合はブラウザ依存は無いのでしょうか? 以上になります。 よろしくお願いします。

    • ベストアンサー
    • XML

専門家に質問してみよう