Maison >interface Web >js tutoriel >Comment puis-je détecter de manière fiable les appareils iOS et leurs versions dans les applications Web ?
Détection des appareils iOS
Lors du développement d'applications Web, il peut être utile de détecter le système d'exploitation d'un appareil. En particulier, les appareils iOS présentent des caractéristiques uniques qui peuvent nécessiter des manipulations spécifiques. Voici comment y parvenir :
Renifleur d'agent utilisateur
Une approche courante est le reniflage d'agent utilisateur. Cependant, cette méthode est moins fiable en raison du potentiel de manipulation de l'utilisateur ou de l'extension. Néanmoins, voici un exemple :
var iOS = !window.MSStream && /iPad|iPhone|iPod/.test(navigator.userAgent);
Notez que cette méthode peut ne pas détecter les iPad exécutant iOS 13 en raison de modifications dans la chaîne de l'agent utilisateur.
Détection de plate-forme
Une approche plus robuste consiste à vérifier la chaîne de la plateforme :
function iOS() { return [ 'iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod' ].includes(navigator.platform) || (navigator.userAgent.includes("Mac") && "ontouchend" in document); }
Cette méthode également distingue les iPad des autres appareils iOS, y compris iPadOS 13.
Détection de la version iOS
Bien que l'analyse de l'agent utilisateur puisse fournir la version iOS, une approche plus fiable est l'inférence de fonctionnalités. Voici un exemple :
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'; }
Conclusion
Ces techniques vous permettent de détecter efficacement les appareils iOS et de déterminer leur version, vous permettant ainsi de personnaliser le comportement de votre application Web en conséquence.
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!