Contrairement à la détection de fonctionnalités, la question cherche à établir une méthode permettant de déterminer si un navigateur fonctionne sur un appareil iOS. Malgré l'importance de la détection des fonctionnalités, la nécessité de détecter les appareils iOS découle de leur gestion unique des vidéos, comme le souligne une discussion connexe sur Stack Overflow.
Naviguer dans le domaine de la détection des appareils , nous rencontrons deux approches :
User Agent Sniffing : Cette méthode s'appuie en examinant la chaîne de l'agent utilisateur du navigateur pour identifier le type de périphérique. Cependant, il est crucial de noter les pièges potentiels de cette approche :
Fonctionnalité Inférence :Cette technique exploite les délais de disponibilité des fonctionnalités connus pour différentes versions d'iOS. Par exemple, nous savons que :
Attention : Cette approche repose sur l'hypothèse que ces fonctionnalités ne seront pas obsolètes dans les futures versions d'iOS.
Pour détecter un appareil iOS, vous pouvez utiliser les éléments suivants code :
function iOS() { return [ 'iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod' ].includes(navigator.platform) // iPad on iOS 13 detection || (navigator.userAgent.includes("Mac") && "ontouchend" in document); }
Pour détecter la version iOS, vous pouvez utiliser le code suivant (mais soyez conscient de ses limites) :
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'; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!