• ベストアンサー

Win,IE5以上とその他ブラウザでページを判別する方法

OSとブラウザを判別するスクリプトを見て自分でも考えたのですが…。 私の頭が足りないせいで 「WindowsのIE5以上のブラウザと、Mac含む他のブラウザを判別して別のページにとばさせる方法」がわかりません… どなたか教えてください。 よろしくお願いします。 Windows Ie5以上→a.html mac含むそのほかのブラウザ→b.html

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

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

普通はブラウザ名やバージョン、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; としてください。 注意: ブラウザ上では判断しにくい半角スペースがあるので、ソースを表示して確認して下さい。 また、行頭の全角スペースは、半角スペースかタブに変換してください。

akasa
質問者

お礼

上手く動きました!どうもありがとうございました!!嬉しいです~~1

その他の回答 (2)

  • onimotsu
  • ベストアンサー率36% (279/758)
回答No.3

ブラウザを判別して自動的に別のページにジャンプする方法はわりませんが 下記を参考にしていただければ。 ●リンクをクリックしたときにブラウザを判別しそれぞれ別のページにジャンプする方法 (この方法は良く使われています) http://www.openspc2.org/reibun/javascript/link/009/index.html ●ブラウザ別にスタイルシートを使い分ける方法(NTT東日本はこの方法です) http://www.openspc2.org/reibun/javascript/browser/012/index.html コピペしてURLなどを替えれば使えると思います。

参考URL:
http://www.openspc2.org/reibun/javascript/
akasa
質問者

お礼

見させていただきました♪ これから勉強するのに使いたいと思います。ありがとうでした~!

  • duckling
  • ベストアンサー率47% (88/185)
回答No.1

navigator.appVersion.indexOf("MSIE") ← IE navigator.appName.indexOf("Netscape") ← NN navigator.appVersion.indexOf("Mac") ← Mac 戻りが -1 じゃなければ、条件分岐(if)で飛ばせば OK です。

akasa
質問者

補足

すいません、基本的なこともよくわかっていないみたいで… 戻り、の意味も分かりません…すいません・・・

関連するQ&A

専門家に質問してみよう