Puis-je détecter si un appareil fonctionne sur iOS ?
Introduction
Fonctionnalité While la détection est généralement préférée à la détection de périphérique, il peut y avoir des scénarios dans lesquels il devient nécessaire de déterminer si un périphérique s'exécute sur iOS.
Méthodes de détection
Renifleur d'agent utilisateur (non recommandé) :
Avertissement : le reniflage d'agent utilisateur peut ne pas être fiable et est susceptible d'être manipulé. Cependant, à des fins héritées, vous pouvez utiliser le code suivant pour vérifier iOS dans la chaîne de l'agent utilisateur :
var iOS = !window.MSStream && /iPad|iPhone|iPod/.test(navigator.userAgent);
Détection de plate-forme :
Une méthode plus robuste implique de vérifier la plate-forme de l'appareil à l'aide de navigator.platform :
function iOS() { return [ 'iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod' ].includes(navigator.platform) || (navigator.userAgent.includes("Mac") && "ontouchend" in document); }
Cette approche prend également en compte les appareils iPad sur iOS 13, où la chaîne de l'agent utilisateur est identique à MacOS.
Déduction de la version iOS :
Bien que les chaînes de l'agent utilisateur puissent être utilisées pour déduire la version iOS, il convient de noter que cette approche n'est pas fiable en raison du potentiel dépréciations futures. Comme alternative, vous pouvez utiliser la vérification de l'historique par rapport aux API introduites par iOS pour déduire la version du système d'exploitation. Cependant, cette approche a aussi ses limites en termes de fiabilité.
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!