- 締切済み
ブラウザの判別と外部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)読み込み ヒントやアドバイスをいただけますでしょうか? よろしくお願いします
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- MAN_MA_RUI
- ベストアンサー率41% (426/1024)
あぁ、そうそう。ほとんどオフトピなんですが、NetscapeとFirefoxは源流が同じブラウザなので基本的な機能、対応しているJavaScriptなどは同じです。 Netscape7とFirefox2ではN7のほうが古いのでその分の差がありますけどね。 覚えておくとブラウザ振り分けなどに関して役に立つことがあるかもしれません。 それからブラウザ別に動作確認を行うならばFirefoxやSafariとも系統の異なるOperaでも動作確認しておくことをお勧めします。
- MAN_MA_RUI
- ベストアンサー率41% (426/1024)
FirefoxをFireFoxと表記したらイヤです!(笑) http://www.mozilla-japan.org/support/firefox/faq#spell-abbreviate …で、要はWinのIEとそれ以外を分けるってことですよね? 別にスクリプトファイルを分けなくてもfunction使ってビルトイン関数を定義すればひとつのファイルで処理を分けられると思います。 UA判定って言うのもアリなんですが、それよりはIEしか対応していないオブジェクトを利用して、 それを利用できるか出来ないかでブラウザのシステムがIEかどうかを判別したほうが良いんじゃないかと。 例えば下記の例ではnavigator.systemLanguageというIE専用のオブジェクトが使えるかどうかを判定して処理を分けています。 if(navigator.systemLanguage) { ieOnly(); forAll(); } else { forAll(); } function ieOnly() { [IE専用の処理] } function forAll() { [全てに適用する処理] } ま、説明がややこしくなったけど実質は比較的簡単ですので^^;