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

JavaScriptでクライアントマシンのOS(オペレーティングシステム)を検出する方法

クライアントマシン上で動作しているオペレーティングシステム(OS)を検出したい場合、JavaScriptでは navigator.appVersion または navigator.userAgent の値を解析することで実現できます。

これらのプロパティには、ブラウザやOSに関する情報が文字列として含まれているため、特定のキーワード(「Win」「Mac」「Linux」など)が含まれているかどうかを確認することで、OSを判別できます。

以下に、クライアントのOSを検出するシンプルなスクリプトの例を示します。

サンプルコード

var operatingSystem = "Unknown OS";
// Windowsかどうかをチェック
if (navigator.appVersion.indexOf("Win") != -1) operatingSystem = "Windows";
// Macかどうかをチェック
if (navigator.appVersion.indexOf("Mac") != -1) operatingSystem = "MacOS";
// UNIXかどうかをチェック
if (navigator.appVersion.indexOf("X11") != -1) operatingSystem = "UNIX";
// Linuxかどうかをチェック
if (navigator.appVersion.indexOf("Linux") != -1) operatingSystem = "Linux";
console.log('Your OS: ' + operatingSystem);

実行結果

このスクリプトをWindows環境で実行すると、コンソールに以下のような出力が表示されます。

Your OS: Windows

なお、OSが検出されなかった場合は初期値として「Unknown OS」が表示されます。判定の順序に注意し、より具体的な条件から順にチェックするようにしましょう。

応用:ユーザーエージェントの活用

同じ仕組みは、navigator.userAgent を使ってユーザーが使用しているブラウザの種類を判別する際にも応用できます。ただし、userAgent文字列はブラウザのバージョンや設定によって変化する場合があるため、あくまで補助的な情報として扱うことが推奨されます。

  1. JavaScriptで親要素の子要素を取得する方法【サンプルコード付き】

    JavaScriptでは、親要素が持つchildrenプロパティを参照することで、その直下にある子要素をまとめて取得できます。本記事では、実際に動作するサンプルコードを使いながら、具体的な手順をわかりやすく解説します。 サンプルコード 以下は、JavaScriptを使って親要素(parent1)の子要素を取得し、ボタンのクリックで一括表示させる例です。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta nam

  2. C#でマシンのIPアドレスを表示する方法【DnsクラスとAddressListプロパティの使い方】

    C#で自分のマシンのIPアドレスを取得して表示したい場合、System.Net名前空間に含まれるDnsクラスとIPHostEntry.AddressListプロパティを利用するのが最も簡単な方法です。 IPアドレスを取得する仕組み まず、Dns.GetHostName()メソッドでローカルマシンのホスト名を取得します。次に、そのホスト名を引数としてDns.GetHostEntry()メソッドに渡すことで、IPHostEntryオブジェクトが返されます。 このIPHostEntryオブジェクトのAddressListプロパティには、該当するホストに関連付けられたすべてのIPアドレス(IPv4およ