• ベストアンサー

Javaでブラウザ判定

Javaでブラウザの判定を行いたいのですが 何かありますでしょうか? なにぶん初心者なもので どうしたらいいか検討もつきません。 JavaScriptでの判定方法は navigator.appNameなどで出来るみたいですが JavaScriptではなく Javaで出来るかどうか探しているのですが 分かる方がいらっしゃいましたら ご教授下さい。 よろしくお願いします。

  • Java
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • dayowl
  • ベストアンサー率56% (84/148)
回答No.1

JavaでServletを作るなら HttpServletRequestのgetHeaderメソッドを使って、 String user_agent = request.getHeader("user-agent"); で取得できるかと思います。 JSPでもrequestのインスタンスを扱えるので、上記同様のことができると思います。 JavaでAppletを作るなら、Javascriptでブラウザ判定して、Appletにパラメータとして渡してやった方が良いのではないでしょうか? (つまり知らない(^^;)) Appletでブラウザを判定しなくてはいけないケースってほとんど出会ったことがないもんで。。。 もしよろしければ、具体的にどういう場合にブラウザの判定をしたいのか教えていただけませんか?

bakenshibakenshi
質問者

お礼

ありがとう御座いました。 大変参考になりました。 具体的にどういう場合にブラウザの判定をしたいのかと 言いますと、ユーザがどういうブラウザを 使っているのかの統計を取りたいからです。 ブラウザ種別によって処理をどうのとか 言う話ではないです。。。

その他の回答 (2)

  • dayowl
  • ベストアンサー率56% (84/148)
回答No.3

>ユーザがどういうブラウザを >使っているのかの統計を取りたいからです。 ああ、なるほど、 それならたぶんJSPかServletのほうですね。 Appletでブラウザ判定だと何に使うのかな、と思ったもので、 ご回答ありがとうございました。

noname#227796
noname#227796
回答No.2

JSPなら、 request.getHeader("user-agent"); Servletなら HttpServletRequest#getHeader() メソッドで"user-agent"を取得できます。 JSPの request オブジェクトは、暗黙オブジェクトで、HttpServletRequestクラスのオブジェクトです。 要するにServletでもJSPと同じ方法で取得できると言うこと。 "user-agent"は、Javascriptでも取得できますね。 navigator.userAgentで。 なので、後は取り出したUser-Agentの文字列を処理すればいいので、Javascriptと同じです。 ↓Javascriptの場合。 http://allabout.co.jp/career/javascript/subject/msubsub_001022030.htm

参考URL:
http://allabout.co.jp/career/javascript/subject/msubsub_001022030.htm

関連するQ&A

  • JavaScriptを使って、現在のブラウザがhtmlかchmかを判定する方法は?

    よろしくお願いします。 htmlをまとめて、chmを作っています。 JavaScriptを使って、現在のブラウザがhtmlかchmかを判定する方法はありますか? navigator.appNameで見分けられると思ったのですが、両方ともMicrosoft Internet Explorerになっています。 何か良い方法があれば教えていただけないでしょうか。 つまり、html、chmによって処理を分けたいと思っているのです。

  • ブラウザ判定でMozilla Firefoxの取得の方法

    IEかNNかを見分けるためのサンプルソースを見たら navigator.appName を使用していました。 しかしappNameが返すのは"Microsoft Internet Explorer"か"Netscape"かの2つしかない(とほほによると)ので、それ以外の判定ができません。 ほかの方法などで判定できるのでしょうか?もしかしたら、むずかし~いソースになってしまいますか? JavaScriptを今少しかじっているところですが、ブラウザごとの仕様の違いに少しとまどっています。 IEとNNを比較して解説したサイトは多いのですが、FireFoxも考慮に入れたサイトはあまり見かけません。 もしありましたら紹介おねがいします。

  • ブラウザ判定

    xpの時に作ったJavascriptを試してみたんですが、今win7,IE11なんですが、 brws = navigator.appName; alert(brws) ; をすると、netscapeと返します。 今はもういろいろと、ソースが変わってしまったのでしょうか? また新しい本を買って学びなおす必要がありますか?もしまた組むとしたら。

  • JavaScriptで「実行中のブラウザ」の確認

    JavaScriptでプログラムを組んでいます。 OSはWin7 Home 64bit、通常使うブラウザは「FireFox」です。 ブラウザによって実行内容を変えたいため、「navigator.appName」で情報を得るのですが、 どのブラウザでも「Netscape」(FireFoxのことだと思います)になってしまいます。 どうも「navigator.appName」は通常使うブラウザの値が設定されているようです。 「通常使うブラウザ」ではなく、「実行中のブラウザ」の情報が欲しいのです。 いい方法があれば、教えてください。

  • Flashでブラウザ判定したい

    Flashでブラウザ判定したい Action Script を使って、ブラウザ判定を行い、ブラウザに応じたフレームに移動するFlashを作りたいです。 具体的には、IEとOperaと携帯ブラウザとその他ブラウザ(FireFox,Chromeなど)の4種類くらいで分けたいと考えています。 まずUAを取得し、それに応じてIFとGotoandStopでいけそうなのですが・・ ウェブで少し調べると、Java Scriptなどと組み合わせると出来そうでしたが、ASだけでは無理なのでしょうか? もし可能なら方法(AS)をご教授下さい。 環境: Windows Vista Flash Pro 8

    • ベストアンサー
    • Flash
  • MAC ブラウザ情報を取得するには

    はじめまして、 ゆありです。 質問させて下さい。 ASPを用いて、クライアントがMACでNetscapeだった場合、ブラウザのバージョンを取得したいんです。 ユーザエージェントを取得してみたのですが、 (1)OS :navigator.userAgent      Win/Mac を判定 (2)ブラウザ :navigator.appName       Explorer/ Netscape を判定 (3)ブラウザバージョン :IE は navigator.userAgent.substring(navigator.userAgent.indexOf("Netscape",0)+9,myAgent.indexOf("Netscape",0)+10); Netscape はnavigator.userAgent.substring(navigator.userAgent.indexOf("MSIE",0)+5,myAgent.indexOf("MSIE",0)+6); 上記の情報で、Windows(IE/Netscape)と MAC(IE)がクライアントの場合、 (3)の結果に正常値(IE6.0なら6、Netscape7.1なら7)が帰ってくるのですが、MAC(Netscape)だとうまくいきません。 MACで、Netscapeのバージョンの取得方法を知っている方、 または、Netscapeの7 と判定する為に取得できそうな情報をしっている方が いらっしゃいましたら教えて下さい。

  • ブラウザの×ボタン判定

    ブラウザの×ボタンを押下すると、このページから移動しますか? というダイアログが表示されると思います。 このダイアログには「このページから移動」と「ページに留まる」の二つのボタンが ついています。 このボタンの内、どちらが押されたかを判断したいのですが、javascriptで判定する ことは可能でしょうか? ご教授のほどよろしくお願いいたします。

  • ブラウザのJavaについて

    あるサイトにアクセスしたのですが、(ご使用のブラウザはJavaに対応していません。)と表示されアクセスできませんでした。Javaのブラウザ取得方法をおしえてください。

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

    お世話になっております。 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>

  • ブラウザの判定

    SsfariとGoogle Chromeは、navigator.userAgent.toUpperCase();で参照するとSsfariと表示されますが。 どうしても SsfariとGoogle Chromeを判定したいのですが、何か良い方法が有りましたら教えて下さい。 現時点は、(uName.indexOf("SAFARI") >= 0 && uName.indexOf("VERSION") >= 0)をSsfariとしていますが。

専門家に質問してみよう