2011-12-12 8 views
9

Stworzyłem aplikację internetową dla iPhone'a i mam ją dodaną do zakładek i dodaną do ekranu głównego mojego iPhone'a. Zauważam jednak, że jest z tym problem: działa zgodnie z przeznaczeniem, dopóki nie przejdę do strony w aplikacji zawierającej ciąg zapytania i parametry - na przykład www.mywebapp.com/page02.html?param1=value&param2=value2. Kiedy wchodzę na stronę z takim adresem URL, iOS przełącza mnie z wbudowanej wersji Safari do głównej aplikacji Safari - zabiera mnie z mojej aplikacji. Nie wiem, dlaczego tak się dzieje.Aplikacja Webapp dla iPhone'a przełącza z ekranu głównego na Safari, gdy używane są parametry adresu URL.

Co powoduje to i co mogę z tym zrobić?

+0

Co to znaczy "przełącza się z ekranu głównego na Safari"? Czy aplikacja z zakładkami znika z ekranu głównego - czy przechodzi z przeglądarki w stylu UIWebView do wersji Mobile Safari? –

+0

Cześć! Z "przełącznikami ..." mam na myśli to, że WebApp przełącza się z przeglądarki w stylu UIWebView na Mobile Safari, o czym wspomniałeś. To dziwne, ponieważ dzieje się tak tylko wtedy, gdy używam parametrów w adresie URL. Przypuszczam, że będą pewne ograniczenia dotyczące iPhone'a i parametrów URL-a. Czy znasz jakieś rozwiązanie tego problemu? – user1094000

+0

Prawdopodobny duplikat [iPhone Safari Web App otwiera linki w nowym oknie] (http://stackoverflow.com/questions/2898740/iphone-safari-web-app-opens-links-in-new-window) – nkron

Odpowiedz

0

Nie jestem pewien, co powoduje to, ale this question about UIWebView issues ma rozwiązanie, jak zrobić kilka linków otwartych na stronie UIWebView, a niektóre otworzyć w Mobile Safari, więc założę się, że można uogólnić to na rozwiązanie problemu .

5

Tak zaprojektował Apple. Jeśli potrzebujesz aplikacji sieciowej z wieloma widokami, musisz wdrożyć logikę przełączania stron w JavaScript. Wszystko inne spowoduje problem, który opisałeś -> przeskakiwanie do Safari.

7

Wiele dzięki @BjornKaiser które dostarczyły rozwiązanie, tutaj jest prosta jQuery skrypt, który będzie obsługiwać to dla ciebie za wszystkie linki.

Dodaj to do głównej sekcji głównej strony ASP.Net. Upewnij się, że zawierasz jquery:

<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> 
Powiązane problemy