Como atualizar uma página da web no Chrome (analógico Ctrl + F5) em um dispositivo sem botão de menu?
On Dezembro 1, 2020 by adminTenho um dispositivo Nexus 7 Android com 4.2.2 e navegador Chrome.
Como alguém pode realizar uma atualização profunda de uma página da web – análogo à tecla de atalho Ctrl + F5 em desktops?
Por favor , observe que o dispositivo não tem um botão de menu.
De acordo com a única questão relacionada que encontrei aqui , a solução é para limpar o cache do navegador completamente. Prefiro uma solução mais conveniente e elegante.
Comentários
- Como o botão de menu (ou a falta dele) está relacionado ?
- @eldarerathis, vi uma postagem na Internet, sugerindo pressionar o botão da ferramenta Atualizar enquanto pressiona a tecla Menu.
- Ah, interessante. Eu não ‘ nunca tinha ouvido isso antes.
- Esta pergunta tem respostas muito melhores no StackOverflow (o que mostra como a divisão excessiva da comunidade não ‘ ajuda; o Android está perto o suficiente da programação que ‘ não vale a pena fazer um site separado para; Química vs. Matemática – claro.)
Resposta
Ignorando o cache do site:
Isso precisa de um código javascript simples para ser executado na barra de endereço para ignorar o cache e buscar conteúdo do servidor em vez do cache do navegador. De acordo com esta página MDN em Forçar o recarregamento da página atual do servidor ,
javascript:location.reload(true)
Digite o código acima na barra de endereço do navegador e pressione a tecla Enter. Isso irá buscar todo o conteúdo do servidor em vez de selecionar os elementos armazenados em cache em seu navegador (ignorando assim o cache do navegador).
Ignorar dados de cache para todos sites (cache global)
O javascript acima funciona apenas para um site específico que você abriu no momento. Para limpar todo o cache do site, use os dados globais do cache do navegador. Você encontra isso em
Settings > Privacy > CLEAR BROWSING DATA
Selecione a caixa de seleção “Cache” (e outras opções, como dados do navegador, cookies, senha, etc., se desejar) e selecione “Limpar “.
Observação: Enquanto Ctrl
+ F5
fará com que o navegador descarte o cache e solicite novos conteúdos do servidor, o servidor pode ignorar o no-cache
cabeçalho e servir uma página em cache do lado do servidor. Assim, mesmo Ctrl
+ F5
pode retornar uma versão antiga da página se o servidor ignorar o cabeçalho sem cache.
Modo anônimo:
Navegar no modo anônimo desativa o histórico e o cache. Assim, você pode visitar qualquer site no modo de navegação anônima para solicitar conteúdo novo a qualquer momento.
Para uma discussão mais interessante sobre o que Ctrl
+ F5
ou forçar atualização faz,
Leia esta postagem do SO, Quais solicitações os navegadores ““ F5 ”e“ Ctrl + F5 ”Atualizações são geradas?
Comentários
- Este não funciona mais no Chrome 47 .
- Mesmo depois de limpar os dados de navegação, a atualização profunda não estava acontecendo. Tive que encerrar e reiniciar o Chrome em meu telefone Android para forçá-lo a obter do cache . (Pensando melhor, parece que mesmo depois de limpar o cache no disco (presumivelmente), o cache na memória ainda está por perto. A eliminação do Chrome também limpa o cache da memória.) [PS: Por ” disco ” Refiro-me ao armazenamento permanente não volátil, também conhecido como memória flash.]
Resposta
Eu encontrei t !!!!!!
No lado esquerdo da URL, há um ícone de informação (i) ou um ícone de cadeado. Clique no ícone e em [configuração do site].
Você encontrará um ícone da lixeira para limpar o cache do site atual e, alternativamente, um botão “restaurar preferências”.
Trabalhando em Android Chrome 71.
Comentários
- Não funciona no meu S9 +, versão do Chrome 73.0.3683.90. Eu ‘ acertei a opção Limpar & Redefinir pelo menos 15 vezes em uma página que eu controlo (então eu sei o que o código faz muito bem ) No entanto, o JS em execução na página que estou carregando ainda é uma versão antiga.
- Bem, funcionou perfeitamente no meu S9, então acho que há algo acontecendo específico para o seu caso! Você poderia saquear ainda mais com isso?
- Eu ‘ já tentei isso em dois dispositivos diferentes agora, um usando o modo de desenvolvedor (meu telefone, já que ‘ ma desenvolvedor) e um amigo ‘ s. Também experimentei um tablet; não vá lá +.Além disso, até tentei no meu iPhone corporativo usando o Chrome, e o mesmo problema está lá. Então, da minha perspectiva, você parece ter sorte, mais do que eu pareço ter vários dispositivos defeituosos à minha disposição.
- Claro, o verdadeiro problema é o Chrome ‘ s / Android ‘ s comportamento funky e cache hiperagressivo. É como um modo de navegação anônima que não funciona (falando nisso … também não funcionou corretamente …)
- Acabei de verificar se o Chrome do iPhone não tem essa opção que você está dizendo, então eu acredito que não estamos falando da mesma coisa: o que é mais, não há nenhum “reset & claro” no Chrome do meu Android. Para verificar três vezes, testei minha sugestão em um Xiaomi A1 funcionando bem (observe que ele exibe o tamanho do cache local da página em KB). Pode ser que você precise fechar a guia (ou tente matar o Chrome). Caso contrário, estou me perguntando o que o “botão da lixeira” de um site específico deve fazer …?
Resposta
No meu tablet Samsung navegando com o Chrome, digite isto na barra de endereço:
javascript:location.reload(true)
Isso deve acionar uma recarga forçada usando Javascript. Agora não preciso esperar dias para observar os resultados de uma mudança de código que fiz. Um novo problema é que digitar em um tablet não é minha coisa favorita a fazer.
Em vez de digitar o comando acima, também tentei mudar para o modo desktop e depois voltar. Isso não fez uma atualização profunda.
Resposta
Nenhuma dessas soluções funcionou. No entanto, encontrei uma solução de trabalho.
Primeiro, encontre o url css. No meu caso, era assim:
/min/assets/css/style.min.css
Escreva no campo de endereço, mas também adicione uma variável GET a ele:
/min/assets/css/style.min.css?hello
Esperançosamente, A variável GET é aceita. Por ser um novo url, força o css a recarregar. Agora volte ao site e o css deveria ter sido recarregado.
Resposta
Acabei de encontrar uma solução mais elegante. No menu da página da web, peça a versão desktop do site. Ele puxará os dados do servidor e a página será recarregada. Depois disso, você pode voltar para a versão móvel novamente. p>
Comentários
- Nem todos os sites oferecem versões para celular / desktop.
- A versão atual do Chrome no Android tem a opção Solicitar site para desktop . Quer todos os sites atendam a essa solicitação ou não, ‘ ainda é uma opção eficaz em muitos casos. Tentar e descobrir que não ‘ t trabalhar é muito mais fácil e rápido do que limpar caches nas configurações.
Resposta
Preciso de uma maneira de limpar o cache atual ou todo o cache do mesmo domínio de origem via javascript, para que eu possa garantir a implementação da atualização do meu webapp chega sem erros.
Também não tive sucesso ao alterar temporariamente as metatags de cache no cabeçalho html.
Apenas no desktop e não automatizável:
ctrl + R
costumava trabalhar para forçar o recarregamento para limpar o cache.
agora você deve pressionar
ctrl + shift + R or shift + F5
Parece que o cromo dificultou a limpeza do cache.
Eles provavelmente fazem isso para trapacear nos benchmarks de velocidade do navegador. Estilo VW.
Eu escrevi minha própria função forceReload () de solução alternativa que funciona no Windows Chrome e Android Chrome e chromium:
window.forceReload = function(){ if( !window.fetch)return document.location.reload( true); var els = document.getElementsByTagName( "*"); for( var i = 0; i < els.length; i++){ var src = ""; if( els[i].tagName == "A")continue; if( !src && els[i].src)src = els[i].getAttribute( "src"); if( !src && els[i].href)src = els[i].getAttribute( "href"); if( !src)continue; fetch( src, { cache: "reload"}); } return document.location.reload( true); };
Isso A função só recarregará o conteúdo que foi carregado na página atual. Você pode acioná-lo uma vez em cada um de seus clientes depois que novas atualizações estiverem no servidor ou simplesmente adicionar um botão de atualização funcional em seu aplicativo.
Comentários
- Obrigado por compartilhar o código. Fetch parece ainda uma API experimental, então provavelmente outra API de Cache experimental também pode ser útil.
Resposta
I use uma Nova guia anônima . Ele funciona em outros dispositivos e navegadores também. Isso evita o cache local normalmente.
Observe que as sessões privadas ainda podem ser consideradas simultâneas, então você pode ter que fechar todas as guias anônimas para limpar o cache.
Resposta
Puxe uma página para baixo para recarregá-la, ela vem incorporada ao Chrome para smartphones, para ver mais truques como essa verificação este link, onde encontrei a solução para o seu problema
Comentários
- Embora este recurso tenha sido adicionado recentemente aos navegadores do Chrome ( ver.41 acima) não estará disponível nas versões anteriores. Portanto, esse recurso pode ou não funcionar. E o mais importante, isso apenas recarrega a página da maneira normal, mas o OP pede uma atualização completa.
- ‘ não é especificado se a solução solicitada está sob o ponto de vista do Android ou da codificação
- Não foi possível ‘ não entendo o que você quer dizer com isso. Mas essa resposta não ‘ me convence de que fornecerá uma solução para o problema do OP ‘.
- Esta ” resposta ” está literalmente dizendo às pessoas que você pode realizar uma atualização regular puxando para baixo na página . A pergunta da OP ‘, no entanto, era sobre fazer uma ” atualização total “, CTRL + F5 equivalente no PC.
Resposta
À esquerda da janela do endereço da web que você está visitando está quase seta circular.
Comentários
- Eu não ‘ não acredito que isso seja uma atualização profunda como Stan pedindo.
Deixe uma resposta