O evento Pagehide na troca iminente de guias no Mobile Safari não dispara quando executado no iPad

É bem sabido que o Mobile Safari pausa a execução de Javascript em uma página da Web quando

você muda para a guia diferente do navegadoralternar para um aplicativo iOS diferente (por exemplo, quando você recebe uma chamada, o aplicativo do telefone)

Você pode se inscrever para a janela"pagehide" e"pageshow" eventos para detectar suspensão iminente e reativação de Javascript.

O problema é que esses eventos não são acionados quandoalternância de tabulação (1.) em umiPad Safari Móvel. Em umIphone Mobile Safari tudo ébem, tal como descrito acima.

É trivial demonstrar:

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

É acionado em iPads (iOS5 e iOS6 Preview3) somente ao fazer comutação de aplicativos (2.) e não na alternância de guias (1.). Todos os iPhones funcionam bem ..

Alguém conseguiu detectar uma iminente tabulação no navegador do iPad?

oreativação de Javascript quando a aba se torna ativa novamente pode ser detectada por um loop de batimento cardíaco como descrito emesta discussão do mesmo tópico.

questionAnswers(3)

yourAnswerToTheQuestion