JavaScriptでOS名とかブラウザ名を調べるコード例

JavaScriptを使っていて、こういう場面ってないですか?

  • ユーザーのOS名を判定したい
  • 使っているブラウザ名を調べたい

そういう時は、ほんの数行のコードを書けばすぐ分かります。

ここでは自分向けのメモも兼ね、
JavaScriptでブラウザ名とかOS名を判定するコード例 を紹介します。

1.OS名を判定する方法&コード例

まずはOS名の判定から

市場規模的には、次の4つが判定できれば十分なはずです。

  • Windows
  • MacOS
  • Linux
  • Unix(X11)

こういうOS名は直接取得ってできません。

 

でもユーザーエージェント( navigator.userAgent  )の値を調べれば、間接的に取得できます。

例えば自分の環境の場合、 userAgent  の値は次みたいになってました。

Windows  とか Wind64  とかの文字列が含まれてるのが分かるはず

 

なのでOS名を調べるには、ざっくり次みたいなコードで判定できます

ただし、 navigator.userAgent  の値は偽装とかも可能なので要注意!

必ずしも正しいOS名を取得できる・・・とは限らないことは了解しておいてください。

2.ブラウザ名を判定する方法&コード例

ブラウザ名の判別も、ユーザーエージェント( navigator.userAgent  )の値から判定できます。

例えば僕の環境の場合、ブラウザごとに次の値が返ってきました、、、、、

Opera はなぜか Chrome  とか Safari  みたいな値まで返してくる模様・・・

 

なので正確な判断までは難しいです。

でも大まかに判別するためのコードを書くなら、こんな感じ

こちらも偽装とかされている場合、正しいブラウザ名とは限らないので要注意

ここまでのまとめ

ということで、OS名とかブラウザ名の判定方法まとめ

  • OS名を判定する方法
    ユーザーエージェント( navigator.userAgent  )の値には Win  とか Mac  が含まれるので、そこから原始的に判定できる
  • ブラウザ名を判定する方法
    これも同じくユーザーエージェントの値から Chrome  とか Firefox  の値が含まれてるか調べ、そこから大まかに判定すればOK

ただしユーザーエージェントが偽装されてると、正しい値にはなりません。

あくまで参考程度に考えとくいいと思います。ではまた($・・)/~~~

Commentsこの記事についたコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください