10
votes

WebApp pour iPhone Commutateurs de l'écran d'accueil sur Safari lorsque les paramètres d'URL sont utilisés

J'ai développé une application Web pour l'iPhone et je l'ai marqué et ajouté à l'écran d'accueil de mon iPhone. Je remarque un problème avec cela, bien que: cela fonctionne comme prévu jusqu'à la navigation vers une page de l'application qui possède une chaîne de requête et des paramètres - par exemple, www.mywebapp.com/page02.html?param1= Valeur et param2 = value2 . Lorsque je vais sur une page avec une telle URL, IOS me passe de la version intégrée de Safari à l'application principale Safari - Il me fait sortir de mon application. Je ne sais pas pourquoi cela se passe.

Qu'est-ce qui cause cela et que puis-je faire à ce sujet?


3 commentaires

Que voulez-vous dire "commutateurs de l'écran d'accueil à safari"? L'application bookmarked disparaît-elle de l'écran d'accueil - ou passe-t-il d'un navigateur de style UIWebView sur mobile Safari?


Salut! Avec "commutateurs ..." Je veux dire que la webApp bascule d'un navigateur de style UIWebView sur mobile Safari comme vous l'avez mentionné. C'est étrange car cela ne se produit que lorsque j'utilise des paramètres dans l'URL. Je suppose qu'il y aura des restrictions avec des webapps iPhone et des paramètres d'URL. Connaissez-vous une solution pour ce problème?


Dupliqué possible de Application Web iPhone Safari Ouvre les liens dans la nouvelle fenêtre


4 Réponses :


0
votes

Je ne suis pas sûr de ce qui cause cela, mais Cette question sur UIWebView Problèmes a une solution pour savoir comment effectuer des liens ouverts dans la page UIWebView et certains OPEN in Mobile Safari, donc je parie que vous pourriez généraliser à partir de cela à une solution à votre problème.


0 commentaires

5
votes

C'est la façon dont Apple le conçut. Si vous avez besoin d'une application Web multi-affichages, vous devez implémenter la logique de commutation de page dans JavaScript. Tout le reste provoquera le problème que vous avez décrit -> Sauter à Safari.


0 commentaires

-1
votes

J'ai trouvé la meilleure solution: Utilisation du stockage de données côté client. Vous pouvez utiliser JavaScript pour stocker des informations de variables dans les variables localesStorage et SessionStorage.

Regardez ces liens: Didacticiel de stockage de données côté client du client de O'Reilly et Didacticiel de stockage de données côté client-clés Apple pour les applications Web


0 commentaires

8
votes

Merci beaucoup à @Bjornkaiser qui a fourni la solution, voici un script simple jQuery strong> qui vous gérera pour vous pour tous les liens.

Ajoutez ceci à la section de la tête de votre maître ASP. NET Page. Assurez-vous que JQuery inclus: P>

<head>
    <!-- Your reference to your jQuery library -->
    <script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>

    <script type="text/javascript">
        $(function() {
          $('a').click(function() {
            document.location = $(this).attr('href');
            return false;
          });
        });
    </script>
</head>


0 commentaires