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文字列はブラウザのバージョンや設定によって変化する場合があるため、あくまで補助的な情報として扱うことが推奨されます。
-
JavaScriptで親要素の子要素を取得する方法【サンプルコード付き】
JavaScriptでは、親要素が持つchildrenプロパティを参照することで、その直下にある子要素をまとめて取得できます。本記事では、実際に動作するサンプルコードを使いながら、具体的な手順をわかりやすく解説します。 サンプルコード 以下は、JavaScriptを使って親要素(parent1)の子要素を取得し、ボタンのクリックで一括表示させる例です。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta nam
-
C#でマシンのIPアドレスを表示する方法【DnsクラスとAddressListプロパティの使い方】
C#で自分のマシンのIPアドレスを取得して表示したい場合、System.Net名前空間に含まれるDnsクラスとIPHostEntry.AddressListプロパティを利用するのが最も簡単な方法です。 IPアドレスを取得する仕組み まず、Dns.GetHostName()メソッドでローカルマシンのホスト名を取得します。次に、そのホスト名を引数としてDns.GetHostEntry()メソッドに渡すことで、IPHostEntryオブジェクトが返されます。 このIPHostEntryオブジェクトのAddressListプロパティには、該当するホストに関連付けられたすべてのIPアドレス(IPv4およ