Bestimmen Sie eine installierte App mit Safari auf dem iPhone

Ich möchte eine installierte App mithilfe eines benutzerdefinierten URL-Schemas auf dem iPhone Safari ermitteln.

Vielleicht glauben Sie, dass dies unmöglich ist, aber JavaScript hat mir dabei geholfen, dies herauszufinden.

  <script>(function(){

var fallbackLink = '<?=$info['failed_url']?>'+window.location.search+window.location.hash;

var isiOS = navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone'),
    isAndroid = navigator.userAgent.match('Android');

if (isiOS || isAndroid) {
  document.getElementById('loader').src = '<?=$info['scheme']?>://'+window.location.search+window.location.hash;

  fallbackLink = isAndroid ? '<?=$info['failed_url']?>' :
                             '<?=$info['failed_url']?>' ;
}
window.setTimeout(function (){ window.location.replace(fallbackLink); }, 1000);

})();</script>

Hier ist mein Drehbuch.

Ich kenne das benutzerdefinierte URL-Schema der iPhone-Anwendung bereits. Die Anwendung wird erfolgreich gestartet, wenn sie auf dem iPhone vorhanden ist. Wenn das iPhone jedoch nicht über die Anwendung verfügt, wird es auf eine andere Seite umgeleitet.

Ich habe auf der fehlgeschlagenen Webseite bestimmten Code eingefügt, um festzustellen, dass der Benutzer nicht über die Anwendung verfügt. Mein Plan war perfekt, bis ich dies fand.

Die JavaScript-Umleitung funktioniert, obwohl die Anwendung nach Ablauf der Zeit auf dem iPhone gestartet wird.

Gibt es eine Möglichkeit, JavaScript zu stoppen, wenn das iPhone die Anwendung gestartet hat?

Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage