Heim >Web-Frontend >js-Tutorial >Wie kann ich iOS-Geräte und deren Versionen in Webanwendungen zuverlässig erkennen?
iOS-Geräte erkennen
Bei der Entwicklung von Webanwendungen kann es hilfreich sein, das Betriebssystem eines Geräts zu erkennen. Insbesondere iOS-Geräte weisen einzigartige Eigenschaften auf, die möglicherweise eine besondere Handhabung erfordern. So erreichen Sie dies:
User Agent Sniffing
Ein gängiger Ansatz ist das User Agent Sniffing. Allerdings ist diese Methode aufgrund der Möglichkeit einer Benutzer- oder Erweiterungsmanipulation weniger zuverlässig. Hier ist jedoch ein Beispiel:
var iOS = !window.MSStream && /iPad|iPhone|iPod/.test(navigator.userAgent);
Beachten Sie, dass diese Methode aufgrund von Änderungen in der Benutzeragentenzeichenfolge möglicherweise keine iPads mit iOS 13 erkennt.
Plattformerkennung
Ein robusterer Ansatz besteht darin, die Plattformzeichenfolge zu überprüfen:
function iOS() { return [ 'iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod' ].includes(navigator.platform) || (navigator.userAgent.includes("Mac") && "ontouchend" in document); }
Diese Methode auch unterscheidet iPads von anderen iOS-Geräten, einschließlich iPadOS 13.
Erkennen der iOS-Version
Während das Parsen von Benutzeragenten die iOS-Version bereitstellen kann, ist die Funktionsinferenz ein zuverlässigerer Ansatz. Hier ein Beispiel:
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'; }
Fazit
Mit diesen Techniken können Sie iOS-Geräte effektiv erkennen und deren Version bestimmen, sodass Sie das Verhalten Ihrer Webanwendung entsprechend anpassen können.
Das obige ist der detaillierte Inhalt vonWie kann ich iOS-Geräte und deren Versionen in Webanwendungen zuverlässig erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!