Arrêter natif de l'application web de rechargement de lui-même lors de l'ouverture sur iOS
Je suis en train de construire un "natif web app" à l'aide de HTML + JS sur iOS. Comme vous le savez, vous pouvez ajouter une application à l'écran d'accueil et il sera plus ou moins ressembler à un normal de l'application native.
Cependant si j'ai quitter une application et de le rouvrir à nouveau de le recharger toute la page. Cela se produit également lors du passage d'une application à partir d'un autre sur la barre multitâche.
Est-ce un comportement attendu ou est-il un moyen d'arrêter l'appareil en faisant cela?
Titre d'exemple, vous pouvez ajouter jqTouch-Démos d'ici à votre écran d'accueil et le tester: http://jqtouch.com/preview/demos/main/
- Voir ma réponse ici: stackoverflow.com/a/40707231/473637
Vous devez vous connecter pour publier un commentaire.
Vous pourriez économiser de l'état de votre application dans le localStorage. Au redémarrage, vérifier pour voir si l'état est en cours d'exécution, puis restaurer l'application à l'endroit où il était enfin.
Même problème ici.
De toute façon, si vous ne voulez pas de réinventer la roue, vous pouvez utiliser un outil comme PhoneGap (http://www.phonegap.com/). Natif de l'application web wrapper avec construit dans l'accès à un certain nombre de fonctionnalités natives.
Aussi, vous stockez l'application localement (rapide, sécurisé) et vous pouvez bien sûr le faire payer 😉
C'est sous BSD ou MIT licence.
Mise à jour: que cette réponse est la réception de downvotes, j'ai ajouté cette explication.
Votre problème peut ne pas être la recharger, mais le fait que le navigateur Safari Mobile traite de l'utilisateur de votre cache et les cookies de manière différente lorsque votre application web est ouvert dans le navigateur, que quand c'est "installé" comme une application web à l'écran d'accueil. Bien que les solutions proposées ici que l'utilisation localStorage de travail, ils ont beaucoup de travail pour la logique client peut être évité si votre serveur est déjà responsable de la persistance de l'état de session de l'utilisateur. Le 30-deuxième solution est tout simplement de définir explicitement le cookie de session pour avoir une plus longue durée de vie.
Cela vous permet de garder l'état intact, même entre l'appareil redémarre, donc, même si elle n'est pas techniquement arrêt de l'application web d'être rechargé lorsqu'il est lancé à partir de l'écran d'accueil, c'est un moyen facile de restaurer l'état de l'utilisateur sans lui/elle en remarquant le recharger - qui dans de nombreux cas, je soupçonne est le vrai problème.
Pour une discussion plus détaillée de cette stratégie et des exemples de code, jetez un oeil à ces questions et mes réponses:
Maintenir la Session PHP web app sur iPhone
iPhone "Signet à la page d'accueil", supprime les cookies et session?
Vous voudrez peut-être regarder à l'aide de cache-manifest pour empêcher le chargement des fichiers.
Matt Pourrait a un bon article ici:
http://matt.might.net/articles/how-to-native-iphone-ipad-apps-in-javascript/
Fondamentalement, vous modifiez la balise html à cette
et écrire un cache.le fichier de manifeste sur le serveur qui spécifie les fichiers doivent être conservés dans le cache du périphérique et qui doivent être rechargés dynamiquement à partir du réseau.
Vous devez également vous assurer que votre serveur web sert .les fichiers manifest avec le type MIME text/manifeste, sinon cela ne fonctionnera pas. Si vous utilisez apache, placez le code suivant dans votre .htaccess: