rosa para page online mozila internet gente android html5 caching manifest offline

para - Aplicación HTML5 offline en dispositivos Android



mozilla us (5)

Esto es con respecto a las aplicaciones sin conexión HTML5 en dispositivos Android.

Nos encontramos con un problema en el que no se carga una aplicación HTML5 sin conexión (con un archivo de manifiesto de caché completo) en el navegador de Android en las siguientes condiciones:

  1. Marca la aplicación en el navegador
  2. Apague toda la conectividad inalámbrica
  3. Cierra el navegador completamente
  4. Intenta lanzar el marcador desde la pantalla de inicio

Terminamos con un mensaje "No se puede conectar a Internet". La aplicación funciona perfectamente bien en dispositivos iOS cuando se guarda en la pantalla de inicio y en modo avión.

¿Hay alguna forma específica en la que se debe guardar la aplicación o es una peculiaridad específica de Android?


¿Cuál es el nombre del archivo de su caché de manifiesto? He escuchado que la extensión podría afectar el comportamiento de Android. Asegúrese de que su archivo termina con .manifest

Además, asegúrese de que su servidor esté sirviendo correctamente el tipo MIME para los archivos de manifiesto, que es text/cache-manifest


Además de la respuesta de Ben Max Rubinstein y Compid, si la url de su aplicación es algo como esto: example.com/myapp , debe agregar una barra diagonal siguiente, como esta: example.com/myapp/ .

Cuando esté en línea, el servidor lo redirigirá automáticamente, pero si está desconectado, obviamente no puede ocurrir.


Entonces, tuve problemas similares con Chrome y Android en varias instancias. Aparentemente no hay problema con la implementación porque la probé en FF y funcionó bien, y lo mismo sucedió con el safari. Lo único que supongo es que esto se debe a que los datos están obteniendo el caché de la página web en la RAM cuando se está ejecutando Chrome. Si cierras el navegador, y Android finaliza el proceso, se inicializa una nueva instancia de Chrome y los datos de tu aplicación existente desaparecen. No puedo confirmar esto, pero parece muy probable que sea el problema.

También verifique que su servidor esté configurado para enviar el tipo mime correctamente: cómo configurar su servidor para enviar los tipos MIME correctos


Lo que encontré fue que los archivos .manifest en la configuración mime.types de Apache se configuraron correctamente como text/cache-manifest y luego varias líneas a continuación se sobrescribieron como application/x-ms-application (para compatibilidad con MS ClickOnce). Para resolver esto, tomé una terminación de nombre de archivo diferente, a saber, .cachemanifest , configuré correctamente su tipo mime, reinicié Apache, cache.cachemanifest archivo de manifiesto como cache.cachemanifest , cambié mi atributo de manifiesto <html> para apuntar a este archivo, y luego fui Finalmente, pude almacenar en caché mi aplicación web en Android (no hubo ningún problema en los navegadores de escritorio que aparentemente no se preocupa por el tipo mime de archivo de manifiesto de caché). Espero que esto ayude.


Me gustaría comprobar y ver que:

  1. El tipo MIME realmente es text/cache-manifest .
  2. Su manifiesto de caché comienza con CACHE MANIFEST , sus urls posteriores son relativas al manifiesto o a las URL absolutas.
  3. No tienes ningún enlace roto en tu manifiesto, o una etiqueta de NETWORK: forzada NETWORK: .