Какое событие срабатывает, когда WebKit WebApp "завершен"

Я занимаюсь разработкой веб-приложения для iOS и использую DOMApplicationCache. Я знаю, что веб-приложения не могут работать в фоновом режиме, но я все же хотел бы имитировать резюме приложения, когда пользователь переключается на другое приложение и позже возвращается в веб-приложение.

Для этого я, по крайней мере, должен записывать, когда веб-приложение завершается/выгружается. Но window.unload, похоже, не срабатывает.

Есть ли у кого-нибудь идея, как поймать завершение работы WebApp?

PS: по смежному вопросу, куда идет console.log, когда доступно приложение apple-mobile-web-app?

Ответ 1

Вы можете использовать событие "pagehow", чтобы определить, когда приложение возобновлено. Это событие будет срабатывать, когда пользователь вернется в ваше приложение с другой вкладки сафари. Он также срабатывает, когда пользователь нажимает кнопку "Домой", а затем возвращается к приложению, нажимая кнопку сафари

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

Я тестировал это на симуляторе iOS и работал над ним как описано выше.

Ответ 2

У меня есть ответ. Это не то, на что мы надеялись.

Техническое определение выгрузки из http://www.w3.org/TR/DOM-Level-2-Events/events.html:

Событие разгрузки происходит, когда DOM реализация удаляет документ из окна или рамки. Это событие действительно для элементов BODY и FRAMESET.

Я также получил ответ от некоторых из известных в Apple: "К сожалению, я не смог найти событие, которое срабатывает при нажатии кнопки" Домой "! Я думаю, что наиболее подходящим событием для этого может быть страница Это событие действительно срабатывает в Safari на iOS, когда вы переключаетесь на представление" вкладки ", чтобы открыть новую страницу, но не при нажатии на значок главного экрана:-("