navigatorでブラウザを調べる2JavaScript入門

  1. HOME
  2. JavaScript入門
  3. navigatorでブラウザを調べる2

このページではInternet Explorer,FireFox,Opera,Google Chrome,Safari, その他のブラウザ、と分けてみたいと思います。

<サンプル>
現在使用中のブラウザ:

上記サンプルでは、ブラウザが正しく判別されているでしょうか? もし間違っているなら、ぜひ連絡フォーム等で知らせて下さい。

ブラウザ判別の流れ

前のページでは、appNameでIEとOpera,appVersionでSafariとChromeが識別できることを見ました。 ではその方法に則ったブラウザ判別プログラムを作ってみることにしましょう。 もちろんuserAgentを使えば一発で判別できますが、それはまた別所で紹介できたらと思います。

ブラウザ判別の概要をフローチャートで示すと以下のようになります。 この流れでスクリプトを組んでみたいと思います。

ブラウザ判別の流れ

ブラウザ判別スクリプト

HTMLのBODY内に以下のスクリプトを記入してみましょう (上記のサンプルもこのスクリプトで判別しています)。

<script>

var nvName = navigator.appName;
var nvVersion = navigator.appVersion;
var nvUsAgent = navigator.userAgent;

//1.Internet Explorerか調べる
if ( nvName.indexOf("Internet Explorer") > -1 )
{
  document.write("Internet Explorer");
}
else
{
  //2.Operaか調べる
  if ( nvName.indexOf("Opera") > -1 )
  {
    document.write("Opera");
  }
  else
  {
    //3.「Safari」が含まれるか調べる
    if ( nvVersion.indexOf("Safari") > -1)
    {
     //4.SafariかChromeを見分ける
     if( nvVersion.indexOf("Chrome") > -1)
      {
        document.write("Google Chrome");
      }
      else
      {
        document.write("Safari");
      }
    }
    else
    {
      //5.FireFoxかその他のブラウザかを見分ける
      if( nvUsAgent.indexOf("Firefox") > -1 )
      {
        document.write("FireFox");
      }
      else
      {
        document.write("その他のブラウザ");
      }
    }
  }
}

</script>

文字列.indexOf("検索文字列")が大活躍しています。 indexOf()は検索文字列があれば先頭から何文字目かを取得し、 文字列が無ければ-1を返します。 ですからif文を使って-1より大きいか否かを調べることで文字が含まれているか判別し、 処理を分岐できます。

次のページでは、ブラウザのバージョンを調べてみたいと思います。 こちらはuserAgentに頼ることになります。

楽天booksのJavaScript解説本 JavaScriptワークブック第3版 JavaScript基礎入門 プログラミングTypeScript 作りながら学ぶWebプログラミング実践入門 新しいJavaScriptの教科書 子どもから大人までスラスラ読めるJavaScriptふりがなKidsプログラミン 30時間アカデミック JavaScript入門 確かな力が身につくJavaScript「超」入門 第2版 いちばんやさしいJavaScriptの教本第2版 HTML&CSS JavaScriptプログラミング基礎演習ワークブック

Supported by Rakuten Developers