Como impedir o recarregamento da cache da página da web enquanto estiver usando o navegador de safari móvel?
O Mobile Safari usa um mecanismo de cache especialPage Cache
(aqui), que basicamente mantém a página atual ativa, mas hiberna quando navegamos para outra página. Dessa forma, ele pode exibir imediatamente a página anterior em seu estado mais recente quando o usuário pressionarback
botão.
Isso é útil para navegação e navegação na Web, mas em casos especiais isso se torna irritante, pois você pode precisar obter uma nova cópia da página cada vez que o usuário navega para essa página. (no meu caso eu tenho as páginas: login e página principal).
Estou totalmente ciente de que nada impede o usuário de abrir várias guias do mesmo aplicativo. Eu não estou preocupado com isso.
osolução de navegador cruzado para impedir que a página seja armazenada em cache não ajuda, pois o Safari mantém a página aberta, mas invisível e suspensa.
owindow.onpageshow e manuseioevent.persisted
não ajuda, pois parece que o navegador não executaonpageshow
evento por alguns motivos na segunda vez (quando você pressionaback
botão).
Nota para quem não sabe o queonpageshow
evento é sobre: a Apple desencoraja o usoload
eunload
eventos porque com o conceito decache de página esses eventos não fazem um sentido claro. Assim,onpageshow
deve fazer o que esperamos deload
evento.