Maison >interface Web >js tutoriel >Comment puis-je détecter de manière fiable les appareils iOS et leurs versions dans les applications Web ?

Comment puis-je détecter de manière fiable les appareils iOS et leurs versions dans les applications Web ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-05 04:22:17743parcourir

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

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn