navigator: platform プロパティ

非推奨: この機能は非推奨になりました。まだ対応しているブラウザーがあるかもしれませんが、すでに関連するウェブ標準から削除されているか、削除の手続き中であるか、互換性のためだけに残されている可能性があります。使用を避け、できれば既存のコードは更新してください。このページの下部にある互換性一覧表を見て判断してください。この機能は突然動作しなくなる可能性があることに注意してください。

ブラウザーのプラットフォームを表す文字列を返します。仕様書ではブラウザーが常に空文字列を返すことを許可していますので、信頼できる答えを得るためにこのプロパティを頼らないようにしてください。 platformNavigator インターフェイスの読み取り専用プロパティで、ユーザーのブラウザーが動作しているプラットフォームを特定する文字列を返します。

メモ: 一般的に、このようなメソッドやプロパティを使用してユーザー環境の情報を探そうとするコードを書くことは可能な限り避け、代わりに機能検出を行うコードを書くべきです。

ユーザーのブラウザーを実行しているプラットフォームを識別する文字列です。例えば、 "MacIntel", "Win32", "Linux x86_64", "Linux armv81" です。

navigator.platform は常に避けて、機能検出を使うべきです。しかし、使用できる選択肢の中で、 navigator.platform が最悪の選択肢ではない場合があります。キーボードショートカットの修飾キーが(アップル以外のシステムで使用されている) コントロールキーではなく、(アップルのシステムで使用されている) コマンドキーであるというアドバイスをユーザーに表示させる必要がある場合です。

js
let modifierKeyPrefix = "^"; // コントロールキー
if (
  navigator.platform.indexOf("Mac") === 0 ||
  navigator.platform === "iPhone"
) {
  modifierKeyPrefix = "⌘"; // コマンドキー
}

つまり、 navigator.platform"Mac" で始まるか、または "iPhone" と完全に一致するかどうかを調べ、そのいずれかが真であるかどうかによって、ウェブアプリケーションの UI がキーボードショートカットでユーザーに押すようにアドバイスする修飾キーを選びます。

使用上のメモ

Windows では、現代のブラウザーは 64 ビット版の Windows で実行していても "Win32" を返します。

仕様書

Specification
HTML Standard
# dom-navigator-platform-dev

ブラウザーの互換性

BCD tables only load in the browser

関連情報