Heim > Web-Frontend > js-Tutorial > Wie kann ich zuverlässig erkennen, ob auf einem Gerät iOS läuft?

Wie kann ich zuverlässig erkennen, ob auf einem Gerät iOS läuft?

Barbara Streisand
Freigeben: 2024-12-21 12:37:09
Original
941 Leute haben es durchsucht

How Can I Reliably Detect if a Device is Running iOS?

Kann ich erkennen, ob ein Gerät unter iOS läuft?

Einführung

While-Funktion Da die Erkennung normalerweise der Geräteerkennung vorgezogen wird, kann es Situationen geben, in denen festgestellt werden muss, ob ein Gerät läuft iOS.

Erkennungsmethoden

User Agent Sniffing (nicht empfohlen):

Warnung: User Agent Sniffing kann unzuverlässig sein und ist anfällig für Manipulationen. Für Legacy-Zwecke können Sie jedoch den folgenden Code verwenden, um in der Benutzeragentenzeichenfolge nach iOS zu suchen:

var iOS = !window.MSStream && /iPad|iPhone|iPod/.test(navigator.userAgent);
Nach dem Login kopieren

Plattformerkennung:

Eine robustere Methode beinhaltet die Überprüfung der Geräteplattform mithilfe von navigator.platform:

function iOS() {
  return [
    'iPad Simulator',
    'iPhone Simulator',
    'iPod Simulator',
    'iPad',
    'iPhone',
    'iPod'
  ].includes(navigator.platform)
  || (navigator.userAgent.includes("Mac") && "ontouchend" in document);
}
Nach dem Login kopieren

Dieser Ansatz gilt auch für iPad-Geräte unter iOS 13, wo sich die Benutzeragentenzeichenfolge befindet identisch mit MacOS.

Ableiten der iOS-Version:

Während Benutzeragentenzeichenfolgen verwendet werden können, um auf die iOS-Version zu schließen, ist es erwähnenswert, dass dieser Ansatz aufgrund des Potenzials unzuverlässig ist zukünftige Abschreibungen. Alternativ können Sie eine Verlaufsprüfung anhand der von iOS eingeführten APIs durchführen, um auf die Betriebssystemversion zu schließen. Allerdings hat dieser Ansatz auch seine Grenzen hinsichtlich der Zuverlässigkeit.

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';
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich zuverlässig erkennen, ob auf einem Gerät iOS läuft?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage