- ベストアンサー
Win,IE5以上とその他ブラウザでページを判別する方法
OSとブラウザを判別するスクリプトを見て自分でも考えたのですが…。 私の頭が足りないせいで 「WindowsのIE5以上のブラウザと、Mac含む他のブラウザを判別して別のページにとばさせる方法」がわかりません… どなたか教えてください。 よろしくお願いします。 Windows Ie5以上→a.html mac含むそのほかのブラウザ→b.html
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
普通はブラウザ名やバージョン、OSをそれぞれ調べ、複合条件判断をします。 が、ここまで極端な条件ならば、下記のスクリプトで十分でしょう。 (これを<HEAD>~</HEAD>の中に入れればOKです。) <SCRIPT language="JavaScript"> <!-- var nextPage = 'b.html'; if (navigator.userAgent.match(/MSIE (\d\.\d+); Windows/)) { if (RegExp.$1 >= 5.0) nextPage = 'a.html'; } location.replace(nextPage); //--> </SCRIPT> IEでしかもWindowsならば、ユーザーエージェントの中に MSIE *.*; Windows ** というような文字列が入っているので、これを正規表現で照合し、さらにそのバージョン部分を取り出して数値比較しています。 また、ページを遷移させるのに、location.replace(nextPage) を使いましたが、これは現在のページを指定したURLで置き換えるものです。(上記スクリプトを書いたページに「戻る」ことはできません。) 普通のリンクのようにページ間に前後関係を持たせたいなら、 location.href = nextPage; としてください。 注意: ブラウザ上では判断しにくい半角スペースがあるので、ソースを表示して確認して下さい。 また、行頭の全角スペースは、半角スペースかタブに変換してください。
その他の回答 (2)
- onimotsu
- ベストアンサー率36% (279/758)
ブラウザを判別して自動的に別のページにジャンプする方法はわりませんが 下記を参考にしていただければ。 ●リンクをクリックしたときにブラウザを判別しそれぞれ別のページにジャンプする方法 (この方法は良く使われています) http://www.openspc2.org/reibun/javascript/link/009/index.html ●ブラウザ別にスタイルシートを使い分ける方法(NTT東日本はこの方法です) http://www.openspc2.org/reibun/javascript/browser/012/index.html コピペしてURLなどを替えれば使えると思います。
お礼
見させていただきました♪ これから勉強するのに使いたいと思います。ありがとうでした~!
- duckling
- ベストアンサー率47% (88/185)
navigator.appVersion.indexOf("MSIE") ← IE navigator.appName.indexOf("Netscape") ← NN navigator.appVersion.indexOf("Mac") ← Mac 戻りが -1 じゃなければ、条件分岐(if)で飛ばせば OK です。
補足
すいません、基本的なこともよくわかっていないみたいで… 戻り、の意味も分かりません…すいません・・・
お礼
上手く動きました!どうもありがとうございました!!嬉しいです~~1