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 サイトの他の関連記事を参照してください。