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);
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); }
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'; }
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!