2011-12-12 10 views
9

He desarrollado una aplicación web para el iPhone, y la he marcado y agregado a la pantalla de inicio de mi iPhone. Sin embargo, estoy notando un problema: funciona según lo previsto hasta que navego a una página dentro de la aplicación que tiene una cadena de consulta y parámetros, por ejemplo, www.mywebapp.com/page02.html?param1=value&param2=value2. Cuando voy a una página con dicha URL, iOS me cambia de la versión integrada de Safari a la aplicación principal de Safari, me saca de mi aplicación. No sé por qué sucede esto.Webapp para iPhone cambia de la pantalla de inicio a Safari cuando se usan los parámetros url

¿Qué causa esto y qué puedo hacer al respecto?

+0

¿Qué quiere decir "cambia de la pantalla de inicio a Safari"? ¿Desaparece la aplicación marcada de la pantalla de inicio, o cambia de un navegador de estilo UIWebView a Mobile Safari? –

+0

¡Hola! Con "interruptores ..." me refiero a que la aplicación web cambia de un navegador de estilo UIWebView a Mobile Safari como usted mencionó. Es extraño porque solo ocurre cuando uso parámetros en la URL. Supongo que habrá algunas restricciones con los webapps de iphone y los parámetros de url. ¿Conoces alguna solución para este problema? – user1094000

+0

Posible duplicado de [iPhone Safari Web App abre enlaces en una nueva ventana] (http://stackoverflow.com/questions/2898740/iphone-safari-web-app-opens-links-in-new-window) – nkron

Respuesta

0

No estoy seguro de qué causa esto, pero this question about UIWebView issues tiene una solución para abrir algunos enlaces en la página UIWebView y algunos se abren en Mobile Safari, así que apuesto a que podría generalizar desde eso a una solución a su problema .

5

Así lo diseñó Apple. Si necesita una aplicación web de múltiples vistas, debe implementar la lógica de cambio de página en JavaScript. Todo lo demás causará el problema que describiste -> saltar a Safari.

7

Muchas gracias a @BjornKaiser que proporcionaron la solución, aquí es un simple jQuery script que va a manejar esto para usted para todos los enlaces.

Agregue esto a la sección principal de su página maestra ASP.Net. Asegúrese de tener jquery incluido:

<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> 
Cuestiones relacionadas