2013-01-30 11 views
17

Si tratta di app offline HTML5 su dispositivi Android.Applicazione offline HTML5 su dispositivi Android

Stiamo facendo funzionare in un problema in cui bookmarking una linea capace app HTML5 (con un file manifesto di cache completo) non riesce a caricare sul browser Android nelle seguenti condizioni:

  1. Segnalibro l'applicazione sul browser
  2. spegnere tutti connettività wireless
  3. Chiudere il browser completamente
  4. tentativo di lanciare il segnalibro dalla pagina principale

Finiamo con un messaggio "Impossibile connettersi a Internet". L'app funziona perfettamente su dispositivi iOS quando viene salvata su homescreen e in modalità aereo.

Esiste un modo specifico per salvare l'app o si tratta di una stranezza specifica per Android?

+3

quale browser stai usando? il browser Android predefinito? – Markasoftware

+0

Potresti aggiungere un link al tuo sito web? Con quale versione di Android stai testando questo? Ho un'applicazione web offline e funziona come previsto. – Stephen

+0

Sì, lo stiamo vedendo nel browser Android predefinito. – Luthfur

risposta

1

Qual è il nome file del manifest della cache? Ho sentito che l'estensione potrebbe influire sul comportamento di Android. Assicurati che il tuo file termina con

Inoltre, assicurarsi che il server serve correttamente il tipo MIME per i file manifesto, che è text/cache-manifest

+0

Puoi confermare che entrambi sono veri e ancora incapaci di farlo funzionare correttamente sui dispositivi Android – bijanv

5

mi piacerebbe controllare e vedere che:

  1. MIME tipo è davvero text/cache-manifest.
  2. Il tuo manifest di cache inizia con CACHE MANIFEST, i tuoi URL da allora in poi sono relativi agli URL manifest o assoluti.
  3. Non si dispone di collegamenti interrotti nel file manifest o di un tag NETWORK: forzato.
+0

Grazie Ben, risulta che stiamo usando un tag NETWORK forzato. Lo proverò senza l'etichetta e vedrò come va. – Luthfur

+0

Quindi ...... Qualche fortuna? –

1

Oltre a Ben Max Rubinstein e di risposta di Compid, se la vostra applicazione url è qualcosa di simile: example.com/myapp è necessario aggiungere un seguito slash, in questo modo: example.com/myapp/.

Quando sei online il server ti reindirizzerà automaticamente, ma se sei offline, ovviamente questo non può accadere.

2

Quindi, avevo affrontato lo stesso issues with chrome e Android su più istanze. Apparentemente non c'è alcun problema con l'implementazione perché l'ho provato su FF e ha funzionato bene, e lo stesso era vero per Safari. L'unica cosa che presumo è causata da, i dati recuperano la cache per la pagina Web sulla RAM quando Chrome è in esecuzione. Se chiudi il browser e Android termina il processo, viene inizializzata una nuova istanza di Chrome e i dati delle tue app esistenti non sono più disponibili. Non posso confermarlo, ma sembra molto probabile che potrebbe essere il problema.

verificare il server Inoltre è configurato per inviare il tipo MIME corretto: How to set up your server to send the correct MIME types

1

Quello che ho incontrato era che i file nella configurazione di Apache mime.types è stato correttamente impostato su text/cache-manifest e poi diverse linee di seguito è stato sovrascritto da application/x-ms-application (per compatibilità con la cosa di ClickOnce di MS).Per risolvere questo ho preso diversi nomi di file che terminavano, vale a dire .cachemanifest, configurato correttamente il suo tipo mime, riavviato Apache, rinominato manifest file come cache.cachemanifest, modificato il mio html > manifest manifest per puntare a questo file, e quindi sono stato finalmente in grado di cache la mia app web su Android (non c'era alcun problema nei browser desktop che apparentemente non si preoccupano del tipo mime di file manifest cache). Spero che questo ti aiuti.

Problemi correlati