restricciones olvide eliminar desactivar como codigo apple app ios web-applications iphone-standalone-web-app

ios - eliminar - olvide mi codigo de restricciones iphone 5



Evitar que la aplicaciĆ³n web nativa se vuelva a cargar al abrir en iOS (4)

Estoy tratando de construir una "aplicación web nativa" utilizando HTML + JS en iOS. Como sabrá, puede agregar dicha aplicación a la pantalla de inicio y se verá más o menos como una aplicación nativa normal.

Sin embargo, si salgo de dicha aplicación y la vuelvo a abrir, vuelve a cargar toda la página. Esto también sucede cuando se cambia a una aplicación de este tipo a través de la barra multitarea.

¿Es este comportamiento esperado o hay una manera de evitar que el dispositivo haga esto?

Como ejemplo, puede agregar las demostraciones jqTouch desde aquí a su pantalla de inicio y probarlas: http://jqtouch.com/preview/demos/main/


El mismo problema aqui. De todos modos, si no desea reinventar la rueda, puede utilizar una herramienta como PhoneGap (http://www.phonegap.com/). Contenedor de aplicaciones web nativas con acceso incorporado a una serie de características nativas. Además, almacena la aplicación de forma local (rápida, segura) y, por supuesto, puede cobrar por ella; está bajo la licencia BSD o MIT.


Es posible que desee ver el uso del manifiesto de caché para evitar que cargue los archivos.

Matt Might tiene un buen artículo aquí:

http://matt.might.net/articles/how-to-native-iphone-ipad-apps-in-javascript/

Básicamente se cambia la etiqueta html a esta

<html manifest="cache.manifest">

y escriba un archivo cache.manifest en el servidor que especifique qué archivos deben guardarse en el caché del dispositivo y cuáles deben recargarse dinámicamente desde la red.

CACHE MANIFEST local1.file local2.file NETWORK: network1.php network2.cgi

También debe asegurarse de que su servidor web presente archivos .manifest con el texto / manifiesto de tipo MIME, de lo contrario esto no funcionará. Si está utilizando apache, ponga lo siguiente en su archivo .htaccess:

AddType text/cache-manifest .manifest


Podría guardar el estado de su aplicación en localStorage. En el reinicio, verifique si el estado se está ejecutando, luego restaure la aplicación a donde se encontraba por última vez.


Actualización : Aunque mi respuesta es bajada, creo que esta es la forma más fácil de lidiar con las recargas forzadas de iOS. Mi estrategia no impide que la aplicación web se vuelva a cargar al abrirla, pero le brinda una forma fácil de mantener la sesión activa para que pueda detectar y restaurar la sesión desde el servidor, de modo que el flujo de la aplicación no sea roto (según lo solicitado por el OP).

NÓTESE BIEN; esto es más fácil si se accede a todas las páginas de su aplicación web a través de la misma URL (por ejemplo, http://webapp.yourdomain.com/index.php ); de lo contrario, deberá almacenar la ubicación del usuario en los datos de la sesión en el lado del servidor y enviar al usuario allí cuando ingrese a su aplicación web a través de la URL principal.

Como se dijo, esto le permite mantener el estado intacto incluso entre reinicios del dispositivo, por lo que a pesar de que técnicamente no impide que la aplicación web se vuelva a cargar cuando se inicia desde la pantalla de inicio, me parece que es la forma más fácil de restaurar el Estado para el usuario sin que él / ella note la recarga.

Una solución mucho más fácil que usar el almacenamiento local es extender la vida útil de su cookie de sesión. Esto funciona en aplicaciones web (siempre que apunten a la misma página, por supuesto), e incluso entre la aplicación web y la versión web normal de su aplicación.

El truco es hacer esto:

// Start or resume session session_start(); // Extend cookie life time by an amount of your liking $cookieLifetime = 365 * 24 * 60 * 60; // A year in seconds setcookie(session_name(),session_id(),time()+$cookieLifetime);

Para una discusión más detallada de esta estrategia, puede echar un vistazo a mi respuesta a esta pregunta:

Mantener sesión PHP en aplicación web en iPhone