ユーザーエージェントを取得する(navigator.userAgent)

windows.navigator オブジェクトの userAgent プロパティを参照すると、 Web ページにアクセスしてきた利用者の OS やブラウザの種類などの情報が含まれる Uger Agent (ユーザーエージェント) を取得することができます。ここでは JavaScript を使ってユーザーエージェントを取得する方法について解説します。

(Last modified: )

ユーザーエージェントを取得する

window.navigator オブジェクトで用意されている userAgent プロパティを参照すると、ユーザーエージェントを取得することができます。書式は次のとおりです。

navigator.userAgent

ユーザーエージェントとは、 Web ページにアクセスしたきたユーザーの OS や使用しているブラウザの種類などが含まれる文字列のことです。ユーザーが PC からアクセスしてきているのか、それともスマートフォンからアクセスしてきているのかによって表示する内容を変えたりする場合に参照されることがあります。

ユーザーエージェントはユーザー側で実際とは異なる値に変更することができますので注意は必要です。またユーザーエージェントは将来的に廃止される予定です。

サンプルコード

次のサンプルを見てください。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サンプル</title>
</head>
<body>

<h1>サンプル</h1>

<p id="msg">ユーザーエージェントを表示します</p>

<script>
let element = document.getElementById('msg');
element.insertAdjacentHTML('afterend', '<p>' + navigator.userAgent + '</p>');
</script>

</body>
</html>

ブラウザで Web ページを表示すると、ユーザーのユーザーエージェントを表示します。今回は Windows 11(64bit) 環境で試しています。

Google Chrome 87.0.4280.88 の場合は次のように表示されました。

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

ユーザーエージェントを取得する(1)

Firefox 84.0.1 の場合は次のように表示されました。

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0

ユーザーエージェントを取得する(2)

Microsoft Edge 87.0.664.66 の場合は次のように表示されました。

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66

ユーザーエージェントを取得する(3)

次に iPhone (iOS 14.3) の環境から試した場合です。

Google Chrome 85.0.4183.72 の場合は次のように表示されました。

Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/85.0.4183.72 Mobile/15E148 Safari/604.1

ユーザーエージェントを取得する(4)

Safari 14.0.1 の場合は次のように表示されました。

Mozilla/5.0 (iPhone; CPU iPhone OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Mobile/15E148 Safari/604.1

ユーザーエージェントを取得する(4)

-- --

JavaScript を使ってユーザーエージェントを取得する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。