Heim > Web-Frontend > js-Tutorial > Wie kann ich zuverlässig erkennen, ob ein Browser auf einem iOS-Gerät ausgeführt wird?

Wie kann ich zuverlässig erkennen, ob ein Browser auf einem iOS-Gerät ausgeführt wird?

Linda Hamilton
Freigeben: 2024-12-06 06:51:11
Original
222 Leute haben es durchsucht

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

Identifizieren von iOS-Geräten

Im Gegensatz zur Funktionserkennung versucht die Frage, eine Methode zu etablieren, um festzustellen, ob ein Browser auf einem iOS-Gerät ausgeführt wird. Trotz der Bedeutung der Funktionserkennung ergibt sich die Notwendigkeit, iOS-Geräte zu erkennen, aus ihrer einzigartigen Handhabung von Videos, wie in einer entsprechenden Diskussion zum Stapelüberlauf hervorgehoben.

Erkennungsmethoden

Navigation im Bereich der Geräteerkennung , wir stoßen auf zwei Ansätze:

  1. User Agent Sniffing: Diese Methode basiert auf Untersuchen der User-Agent-Zeichenfolge des Browsers, um den Gerätetyp zu identifizieren. Es ist jedoch wichtig, die potenziellen Fallstricke dieses Ansatzes zu beachten:

    • Benutzeragenten können von Benutzern oder Browsererweiterungen gefälscht werden.
    • iOS 13 iPads weisen jetzt Benutzeragenten auf, die mit denen von macOS identisch sind 13 Computer.
  2. Feature Schlussfolgerung: Diese Technik nutzt bekannte Zeitpläne für die Verfügbarkeit von Funktionen für verschiedene iOS-Versionen. Wir wissen zum Beispiel, dass:

    • History API in iOS 4 eingeführt wurde
    • matchMedia API in iOS 5 eingeführt wurde
    • webAudio API in iOS 6 eingeführt wurde
    • Die WebSpeech-API wurde in iOS eingeführt 7

Achtung: Dieser Ansatz basiert auf der Annahme, dass diese Funktionen in zukünftigen iOS-Versionen nicht veraltet sein werden.

Implementierung des Erkennung

Um ein iOS-Gerät zu erkennen, können Sie Folgendes verwenden 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);
}
Nach dem Login kopieren

Um die iOS-Version zu erkennen, können Sie den folgenden Code verwenden (beachten Sie jedoch dessen Einschränkungen):

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 ein Browser auf einem iOS-Gerät ausgeführt wird?. 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