JS で MacOS、iOS、Windows、Android、Linux OS を検出する [重複] 質問する

JS で MacOS、iOS、Windows、Android、Linux OS を検出する [重複] 質問する

JavaScript を使用して MacOS X、iOS、Windows、Android、Linux オペレーティング システムを検出するにはどうすればよいでしょうか?

ベストアンサー1

window.navigatorオブジェクトとそのプロパティ、について多くのことを学びましたplatform。私の考えでappVersionuserAgent、ユーザーの OS を 100% 確実に検出することはほぼ不可能ですが、私の場合は 85% ~ 90% で十分でした。

そこで、Stack Overflow の大量の回答といくつかの記事を調べた結果、次のような内容を書きました。

function getOS() {
  const userAgent = window.navigator.userAgent,
      platform = window.navigator?.userAgentData?.platform || window.navigator.platform,
      macosPlatforms = ['macOS', 'Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'],
      windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'],
      iosPlatforms = ['iPhone', 'iPad', 'iPod'];
  let os = null;

  if (macosPlatforms.indexOf(platform) !== -1) {
    os = 'Mac OS';
  } else if (iosPlatforms.indexOf(platform) !== -1) {
    os = 'iOS';
  } else if (windowsPlatforms.indexOf(platform) !== -1) {
    os = 'Windows';
  } else if (/Android/.test(userAgent)) {
    os = 'Android';
  } else if (/Linux/.test(platform)) {
    os = 'Linux';
  }

  return os;
}

alert(getOS());

インスピレーション:

  1. 現在、navigator.platform に指定できる値のリストは何ですか?
  2. JavaScript または jQuery を使用して Mac OS X または Windows コンピュータを検出する最良の方法
  3. JavaScript を使用してブラウザのバージョンとオペレーティング システムを検出するにはどうすればよいでしょうか?
  4. JavaScript を使用してブラウザとオペレーティング システムの名前とバージョンを検出する方法

また、モバイル ブラウザーとデスクトップ ブラウザーのリストを使用してコードをテストしました。

  1. すべてのモバイルブラウザのリスト
  2. すべてのブラウザのリスト

このコードは正常に動作します。MacOS、iOS、Android、Windows、UNIX のすべての OS でテストしましたが、100% 確実であるとは言えません。

おすすめ記事