Estou tentando fazer um girador de carregamento simples que aparece ao navegar. Ele aparece usando um evento 'beforeunload' ao navegar para longe e usa o evento 'load' para se esconder novamente quando terminar.
O problema é que, quando deixo a página em segundo plano no telefone por algumas horas, o evento 'beforeunload' é acionado e exibe o botão giratório. Provavelmente porque o Chrome no Android está descarregando parcialmente a página para economizar memória. O spinner não desaparece por si só e não consigo descobrir como fazê-lo desaparecer novamente de uma maneira elegante.
Existe algum outro evento que eu deveria estar usando?
window.addEventListener("load", function() {
topSpinner.classList.add("closed");
});
window.addEventListener("beforeunload", function() {
topSpinner.classList.remove("closed");
});