JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのnavigatorオブジェクトでブラウザの言語とプラットフォームを取得する方法

JavaScriptには、ブラウザに関するさまざまな情報を取得するためのnavigatorオブジェクトが用意されています。その中でも、navigator.platformはブラウザが動作しているプラットフォームを、navigator.languageはブラウザの言語設定をそれぞれ取得できるプロパティです。本記事では、それぞれの使い方をサンプルコード付きで詳しく解説します。

ブラウザのプラットフォームを取得する(navigator.platform)

構文

platform = navigator.platform;

サンプルコード

ブラウザが動作しているプラットフォーム(OSやアーキテクチャの情報)を知りたい場合は、navigator.platformを使用します。返される値の代表的な例としては、「MacIntel」(macOS)、「Win32」(Windows)、「WebTV OS」などが挙げられます。

<html>
<body>
<script>
    document.write("ブラウザのプラットフォームは " + navigator.platform);
</script>
</body>
</html>

実行結果

ブラウザのプラットフォームは Win32

※Windows環境で実行した場合の出力例です。実行する環境によって表示される値は変わります。

ブラウザの言語を取得する(navigator.language)

構文

language = navigator.language;

サンプルコード

ブラウザに設定されている言語を取得するには、navigator.languageを使用します。このプロパティはBCP 47形式の言語タグ(例:「en-US」「en-GB」など)を文字列として返し、ユーザーはブラウザの設定から自由に言語を変更できます。日本語環境の場合は「ja」または「ja-JP」が返されます。

<html>
<body>
<p id="language"></p>
<script>
    document.getElementById("language").innerHTML =
    "ブラウザの言語は " + navigator.language;
</script>
</body>
</html>

実行結果

ブラウザの言語は en-US

※英語(米国)設定のブラウザで実行した場合の出力例です。

補足:複数の言語設定を取得したい場合

ユーザーが優先順位順に登録したすべての言語設定を取得したい場合は、配列を返すnavigator.languagesを利用すると便利です。また、navigator.platformは非推奨(deprecated)とされているため、最新の開発ではUser-Agent Client Hints APIなどの利用も検討するとよいでしょう。

  1. SafariでJavaScriptを無効にする方法|Mac・iPhone/iPad対応の手順を解説

    要点Macの場合:Safariを開き、メニューバーの「Safari」から「環境設定」(または「設定」)>「セキュリティ」を選択し、「JavaScriptを有効にする」のチェックを外します。iPhoneの場合:「設定」アプリを開き、下にスクロールして「Safari」をタップします。Safariの設定画面の一番下にある「詳細」をタップします。「JavaScript」の横にあるスライダーをタップして、オフの位置に切り替えます。この記事では、セキュリティ上の懸念などによりJavaScriptを実行したくない場合に向けて、macOSおよびiOSのSafariブラウザでJavaScriptを無効にす

  2. JavaScriptでブラウザのバージョンを検出する方法

    クライアント側(ユーザーのブラウザ)でブラウザの種類やバージョンを検出したい場合、JavaScriptの navigator.appVersion または navigator.userAgent プロパティの値を解析することで実現できます。 ブラウザ情報を取得するプロパティ navigator オブジェクトは、実行中のブラウザに関するさまざまな情報を保持しています。主なプロパティは以下のとおりです。 navigator.appVersion … ブラウザのバージョンおよびプラットフォーム情報を返します。 navigator.userAgent … ブラウザがサーバーに送信するユーザーエージェ