web-dev-qa-db-ja.com

iPhoneホーム画面から起動したWebアプリの再読み込みを停止する

Webアプリを作成し、iPhoneのホーム画面に追加しました。別のアプリに切り替えて戻ると、iPhoneは自動的にWebアプリをリロードします。これは私のアプリの流れを壊します。

IPhoneがアプリをリロードしないようにするにはどうすればよいですか?

Appleのmobile-web-app-capableメタタグを有効にして、Safariツールバーを非表示にします。オフにしたくありません。

69
Rand

私はこの関連する質問をSOで見つけました: iOSで開くときにネイティブWebアプリがそれ自体をリロードしないようにします

Safariの制限のように思えるので、提案された解決策は、JavascriptとHTML5 localStorageを使用してWebアプリの状態を保持することです。 Webアプリが起動したら、永続化された状態を確認し、可能な場合はそれをロードします。

SafariでlocalStorageを使用する方法については、こちらをご覧ください: http://developer.Apple.com/library/safari/#documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Introduction/Introduction.html#// Apple_ref/doc/uid/TP40007256-CH1-SW1

それがあなたを助けることを願っています。私はあなたと同じ問題を抱えていたので、少なくとも私にとってはそうでした。 :-)

16
René

iOS 11.4.1/12.0でテストしたハックを見つけました
ファイルアップロードウィンドウを開き、ホーム画面に戻ります。
アプリは引き続き動作します。私の場合、音声が再生され、localStorageが更新されます

証明: https://youtu.be/heehLUhGKYY

PS。求めるときに曲の進行がどのように変化するかに注意してください。アプリがバックグラウンドで動作することを証明します

1