Zdarzenie Pagehide podczas bliskiej zmiany karty w Mobile Safari nie uruchamia się, gdy działa na iPadzie

Dobrze wiadomo, że Mobile Safari wstrzymuje wykonanie Javascript na stronie internetowej, gdy

przełączasz się na inną kartę przeglądarkiprzełącz się do innej aplikacji na iOS (np. gdy otrzymasz połączenie przychodzące z aplikacji telefonu)

Możesz zapisać się do okna„pagehide” i„pagehow” zdarzenia wykrywające bezpośrednie zawieszenie i ponowną aktywację Javascript.

Problem polega na tym, że te zdarzenia nie strzelają, gdyprzełączanie tabulatorów (1.) naiPad Mobilne Safari. NaiPhone Mobile Safari wszystko jestw porządku, tak jak opisano powyżej.

To banalne, aby pokazać:

<!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>

Wystrzeliwuje na iPady (iOS5 i iOS6 Preview3) tylko podczas przełączania aplikacji (2.), a nie podczas przełączania tabulatorów (1.). Wszystkie iPhone'y działają dobrze.

Czy ktoś był w stanie wykryć bliskie przełączenie na kartę w przeglądarce na iPadzie?

Thereaktywacja Javascript, gdy karta staje się ponownie aktywna, może zostać wykryta przez pętlę bicia serca, jak opisano wta dyskusja na ten sam temat.

questionAnswers(3)

yourAnswerToTheQuestion