web-dev-qa-db-fra.com

Arrêter le rechargement de l'application Web lancée depuis l'écran d'accueil de l'iPhone

J'ai créé une application Web et l'ai ajoutée à l'écran d'accueil de mon iPhone. Lorsque je passe à une autre application et vice-versa, l'iPhone recharge automatiquement mon application Web. Cela rompt le flux de mon application.

Comment empêcher l'iPhone de recharger l'application?

J'ai la balise Meta compatible Apple-mobile-web-app activée pour masquer la barre d'outils Safari et je ne veux pas la désactiver.

69
Rand

Je viens de trouver cette question connexe sur SO: Arrêter l'application web native de se recharger lors de l'ouverture sur iOS

Comme il semble que ce soit une limitation de Safari, une solution proposée consiste à conserver l'état de vos applications Web en utilisant Javascript et HTML5 localStorage. Lorsque votre application Web est lancée, vérifiez l'état persistant et chargez-le s'il est disponible.

Vous pouvez lire sur l'utilisation de localStorage dans Safari ici: http://developer.Apple.com/library/safari/#documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Introduction/Introduction.html#//Apple_ref/doc/uid/TP40007256-CH1-SW1

J'espère que cela vous aide. Au moins, ça l'a fait pour moi, car j'avais le même problème que vous. :-)

16
René

J'ai trouvé un hack, testé sur iOS 11.4.1/12.0
Ouvrez la fenêtre de téléchargement de fichiers, puis revenez à l'écran d'accueil.
L'application continue de fonctionner, dans mon cas, l'audio est en cours de lecture et localStorage est en cours de mise à jour

Preuves: https://youtu.be/heehLUhGKYY

PS. notez comment la progression de la chanson change lorsque nous cherchons, cela prouve que l'application fonctionne en arrière-plan

1
Artem Bernatskyi