3

私は iOS 用の Web アプリを開発中で、DOMApplicationCache を使用しています。Web アプリはバックグラウンドで実行できないことはわかっていますが、ユーザーが別のアプリに切り替えて後で Web アプリに戻ったときに、アプリの再開をシミュレートしたいと考えています。

これを行うには、少なくとも Web アプリの終了/アンロードを記録する必要があります。しかし、window.unload は起動していないようです。

実行中のWebAppの終了をキャッチする方法を知っている人はいますか?

PS: 関連する質問ですが、apple-mobile-web-app-capable が yes の場合、console.log はどこに保存されますか?

4

2 に答える 2

6

「pageshow」イベントを使用して、アプリが再開されたことを検出できます。このイベントは、ユーザーが別のサファリ タブからアプリに戻ったときに発生します。ユーザーがホームボタンをクリックしてから、サファリボタンをクリックしてアプリに戻ったときにも発生します

     <script>
    window.addEventListener("pageshow", function(){
        alert("page shown");
    }, false);
  </script>

これを iOS シミュレーターでテストし、上記のように動作しました。

于 2011-12-22T15:26:58.340 に答える
3

答えがあります。それは私たちが望んでいたものではありません。

http://www.w3.org/TR/DOM-Level-2-Events/events.htmlからのアンロードの技術的な定義は次のとおりです。

unload イベントは、DOM 実装がウィンドウまたはフレームからドキュメントを削除するときに発生します。このイベントは、BODY および FRAMESET 要素に対して有効です。

また、Apple の一部の有識者からも返信がありました。 「タブ」ビューに切り替えて新しいページを開くと、iOS の Safari で実際にイベントが発生しますが、ホーム画面のアイコンをクリックすると発生しません :-("

于 2011-02-03T18:52:17.260 に答える