Событие Pagehide при неизбежном переключении вкладок в Mobile Safari не срабатывает при работе на iPad
Хорошо известно, что Mobile Safari приостанавливает выполнение Javascript на веб-странице, когда
you switch to different browser tab switch to a different iOS app (e.g. when you get an incoming call the phone app)Вы можете подписаться на окно"pagehide" а также"pageshow" события для обнаружения неизбежного приостановления и реактивации Javascript.
Проблема в том, что эти события не запускаются, когдаtab-switching (1.) наiPad Мобильное Сафари. НаiPhone Мобильное Сафари все естьfine, как описано выше.
Тривиально продемонстрировать:
<!DOCTYPE html>
<html>
<head>
<script>
window.addEventListener("pagehide", function(evt){
var logger = document.getElementById('log_id');
logger.innerText = logger.innerText + " pagehide fired!";
}, false);
</script>
</head>
<body>
<div id="log_id"></div>
</body>
</html>
Он срабатывает на iPad (iOS5 и iOS6 Preview3) только при переключении приложений (2.), а не при переключении вкладок (1.). Все айфоны работают нормально ..
Кто-нибудь смог обнаружить неизбежное переключение вкладок в браузере iPad?
reactivation Javascript, когда вкладка снова становится активной, может быть обнаружена петлей сердечного ритма, как описано вэто обсуждение той же темы.