ホームページ > ウェブフロントエンド > jsチュートリアル > デバイスが iOS を実行しているかどうかを確実に検出するにはどうすればよいですか?

デバイスが iOS を実行しているかどうかを確実に検出するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-21 12:37:09
オリジナル
900 人が閲覧しました

How Can I Reliably Detect if a Device is Running iOS?

デバイスが iOS で実行されているかどうかを検出できますか?

概要

機能中通常、デバイスの検出よりも検出の方が優先されますが、デバイスが実行されているかどうかを判断することが必要になるシナリオもあります。 iOS.

検出方法

ユーザー エージェント スニッフィング (非推奨):

警告: ユーザー エージェント スニッフィングは信頼できない可能性があります。そして操作されやすい。ただし、従来の目的のために、次のコードを使用してユーザー エージェント文字列内の iOS をチェックできます:

var iOS = !window.MSStream && /iPad|iPhone|iPod/.test(navigator.userAgent);
ログイン後にコピー

プラットフォーム検出:

より堅牢な方法navigator.platform:

function iOS() {
  return [
    'iPad Simulator',
    'iPhone Simulator',
    'iPod Simulator',
    'iPad',
    'iPhone',
    'iPod'
  ].includes(navigator.platform)
  || (navigator.userAgent.includes("Mac") && "ontouchend" in document);
}
ログイン後にコピー

を使用したデバイス プラットフォームの検証が含まれます。このアプローチでは、iOS 上の iPad デバイスも考慮されます。 13、ユーザー エージェント文字列は MacOS と同一です。

iOS バージョンの推測:

ユーザー エージェント文字列を使用して iOS バージョンを推測できますが、注目に値します。将来非推奨になる可能性があるため、このアプローチは信頼性が低いということです。代わりに、iOS で導入された API に対する履歴チェックを使用して、OS バージョンを推測することもできます。ただし、このアプローチには信頼性の点で限界もあります。

function iOSversion() {

  if (iOS()) {
    if (window.indexedDB) { return 'iOS 8 and up'; }
    if (window.SpeechSynthesisUtterance) { return 'iOS 7'; }
    if (window.webkitAudioContext) { return 'iOS 6'; }
    if (window.matchMedia) { return 'iOS 5'; }
    if (window.history && 'pushState' in window.history) { return 'iOS 4'; }
    return 'iOS 3 or earlier';
  }

  return 'Not an iOS device';
}
ログイン後にコピー

以上がデバイスが iOS を実行しているかどうかを確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート