ホームページ > ウェブフロントエンド > jsチュートリアル > Web アプリケーションで iOS デバイスとそのバージョンを確実に検出するにはどうすればよいですか?

Web アプリケーションで iOS デバイスとそのバージョンを確実に検出するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-05 04:22:17
オリジナル
638 人が閲覧しました

How Can I Reliably Detect iOS Devices and Their Versions in Web Applications?

iOS デバイスの検出

Web アプリケーションを開発する場合、デバイスのオペレーティング システムを検出すると便利です。特に、iOS デバイスには特有の特性があり、特定の取り扱いが必要になる場合があります。これを実現する方法は次のとおりです。

ユーザー エージェント スニッフィング

一般的なアプローチの 1 つは、ユーザー エージェント スニッフィングです。ただし、この方法はユーザーまたは拡張機能が操作される可能性があるため、信頼性が低くなります。ただし、例を次に示します。

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

ユーザー エージェント文字列の変更により、このメソッドは iOS 13 を実行している iPad の検出に失敗する可能性があることに注意してください。

プラットフォームの検出

より堅牢なアプローチは、プラットフォームをチェックすることですstring:

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

このメソッドは、iPadOS 13 を含む他の iOS デバイスと iPad も区別します。

iOS バージョンの検出

ユーザー エージェントの解析中iOS バージョンを提供できる場合、より信頼性の高いアプローチは機能推論です。以下に例を示します。

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 デバイスを効果的に検出してそのバージョンを特定し、それに応じて Web アプリケーションの動作をカスタマイズできます。

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

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