Какое событие вызывается, когда WebKit WebApp «завершается» - PullRequest
3 голосов
/ 09 декабря 2010

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

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

У кого-нибудь есть идеи, как отловить завершение работы WebApp?

PS: на связанный вопрос, при чем здесь консоль.войти, когда Apple-Mobile-Web-приложение-способно да?

Ответы [ 2 ]

6 голосов
/ 22 декабря 2011

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

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

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

3 голосов
/ 03 февраля 2011

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

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

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

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

...