Heim  >  Artikel  >  Web-Frontend  >  Wie kann man Safari und WebViews auf iOS-Geräten mithilfe von JavaScript unterscheiden?

Wie kann man Safari und WebViews auf iOS-Geräten mithilfe von JavaScript unterscheiden?

Linda Hamilton
Linda HamiltonOriginal
2024-10-20 16:48:29472Durchsuche

How to Distinguish Safari and WebViews on iOS Devices Using JavaScript?

Safari und WebViews auf iOS-Geräten mit JavaScript erkennen

Bestimmen, ob eine Website im Safari-Browser des iPad oder innerhalb einer WebView-Anwendung ausgeführt wird entscheidend für die maßgeschneiderte Benutzererfahrung. Dies kann durch eine Kombination der JavaScript-Eigenschaften window.navigator.userAgent und window.navigator.standalone erreicht werden.

Durch die Analyse der Benutzeragentenzeichenfolge können wir das Gerät als iOS-Gerät identifizieren. Wenn es sich tatsächlich um ein iOS-Gerät handelt, prüfen wir außerdem, ob window.navigator.standalone vorhanden ist oder nicht, um zwischen verschiedenen Szenarien zu unterscheiden:

  • Browser: Die Website wird im ausgeführt Safari-Browser; standalone ist falsch und der Benutzeragent enthält „Safari“.
  • Standalone: Die Website wird als eigenständige Anwendung ausgeführt; standalone ist wahr und der Benutzeragent enthält nicht „Safari“.
  • WebView: Die Website wird im WebView einer App ausgeführt; standalone ist falsch und der Benutzeragent enthält nicht „Safari“.

Dieser JavaScript-Code bietet eine vollständige Lösung zur Erkennung der iOS-Umgebung und zur Unterscheidung zwischen Safari- und WebView-Modus:

<code class="javascript">var standalone = window.navigator.standalone,
    userAgent = window.navigator.userAgent.toLowerCase(),
    safari = /safari/.test(userAgent),
    ios = /iphone|ipod|ipad/.test(userAgent);

if (ios) {
    if (!standalone && safari) {
        // Browser
    } else if (standalone && !safari) {
        // Standalone
    } else if (!standalone && !safari) {
        // WebView
    }
} else {
    // Not iOS
}</code>

Mit dieser Methode können Sie das Verhalten Ihrer Webanwendung an verschiedene Umgebungen anpassen und so ein optimales Benutzererlebnis gewährleisten. Beispielsweise könnte eine Navigationsleiste ausgeblendet werden, wenn die App im Standalone-Modus verwendet wird, oder bestimmte Funktionen könnten deaktiviert werden, wenn sie im WebView einer App ausgeführt wird.

Das obige ist der detaillierte Inhalt vonWie kann man Safari und WebViews auf iOS-Geräten mithilfe von JavaScript unterscheiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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