• ベストアンサー

ブラウザの種類を判別してそれぞれ別のページに飛ばす

タイトルの通りです。 具体的にいうと、InternetExplolerやFirefox、Opera等のコンピューター向けのブラウザとPSPのブラウザやDSのブラウザ等の携帯端末向けブラウザを区別して、それぞれ、ほかのページに移動させたいのです。 Google等で探しては見たのですが、よくわかりませんでした。。。 どなたか、タグ等も載せていただくと、非常にありがたいです よろしくお願いいたします

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

  • ベストアンサー
noname#230509
noname#230509
回答No.3

#2です。 前のスクリプトより、こっちにしたほうが良いみたいです。 <script type="text/javascript"> <!-- if(navigator.systemLanguage) { document.write('(IE4以上への対応)') } else if(navigator.vendorSub) { document.write('(Geckoブラウザ(Firefox含む)への対応)') } else if(window.opera) { document.write('(Operaへの対応)') } else if(navigator.vendor == "Apple Computer, Inc.") { document.write('(AppleWebKitへの対応)') } else { document.write('(不明なブラウザへの対応)') } //--> </script> <noscript>(Javascriptに非対応ユーザーへの対応)</noscript> また、DSやWiiのブラウザはOpera社の製品なので window.opera に引っかかる可能性もあります。 また、携帯電話のブラウザはJavascript非対応になります。 前のスクリプトより条件の追加が若干難しくなりましたが、頑張ってください。

w1w1
質問者

お礼

わかりやすいご回答ありがとうございました。 とても、勉強になりました。 是非、使ってみたいと思います 本当にありがとうございました!

その他の回答 (2)

noname#230509
noname#230509
回答No.2

Javascriptになりますが…。 UserAgentの中身を見て、該当したらそれにあわせた対応をすればいいのではないかと思います。 <script type="text/javascript"> <!-- if(navigator.userAgent.indexOf("MS") > -1){ // UA に [MS] が含まれている場合 document.write('(Internet Explorerユーザーへの対応)'); } else if(navigator.userAgent.indexOf("Firefox") > -1){ // UA に [Firefox] が含まれている場合 document.write('(Firefoxユーザーへの対応)'); } else if(navigator.userAgent.indexOf("Firefox") > -1){ // UA に [Opera] が含まれている場合 document.write('(Operaユーザーへの対応)'); } else{ // 上記いずれにも該当しない場合 document.write('(上記以外のユーザーへの対応)'); } //--> </script> <noscript>(Javascriptに対応していないユーザーへの対応)</noscript> DSやPSPなどのブラウザについては知らないのですが、それらがJavascript有効ブラウザならUAの一部を指定することで対応できるはずです。

  • stiffels
  • ベストアンサー率34% (25/72)
回答No.1

CGIで環境変数HTTP_USER_AGENTを見分けてジャンプさせればいいと思います。

w1w1
質問者

お礼

ご回答ありがとうございます すみません。CGIの知識があまりないため、検索しては見たものの、ちんぷんかんぷんでした。 どなたか、わかりやすく解説していただけないでしょうか。。。