Détecter si iOS utilise webapp

Je me demandais s’il était possible de détecter si un utilisateur iOS utilisait l’application Web, ou s’il visitait simplement le navigateur Safari.

La raison pour laquelle je veux réaliser est que, sur une application Web iOS, lorsqu’un utilisateur clique sur un lien, il sera redirigé vers le navigateur Safari. J’utilise donc la solution suivante pour le forcer à restr dans l’application Web (empêchez le basculement vers le navigateur Safari).

$( document ).on("click",".nav ul li a", function( event ){ // Stop the default behavior of the browser, which // is to change the URL of the page. event.preventDefault(); // Manually change the location of the page to stay in // "Standalone" mode and change the URL at the same time. location.href = $( event.target ).attr( "href" ); } ); 

Mais je souhaite que cette solution de contournement ne se produise que lorsque l’utilisateur utilise l’application Webapp. Je souhaite qu’elle soit conditionnelle pour les utilisateurs de l’application Web. Donc, pas sur le navigateur Safari par défaut.

Vous devez le détecter en utilisant du javascript:

   

Comme on peut le trouver ici: Déterminez si le site est ouvert en tant qu’application Web ou via un safari régulier sur ipad?

Et la source utilisée dans la réponse est CECI .

WebApp iOS et Chrome se comportent différemment, voilà pourquoi je suis venu à la suite:

 isInWebAppiOS = (window.navigator.standalone == true); isInWebAppChrome = (window.matchMedia('(display-mode: standalone)').matches);