Posso forçar uma atualização de cache no Safari em execução no iOS?

57

A maioria dos navegadores da área de trabalho do Windows utiliza a combinação de teclado Ctrl+ F5para forçar uma atualização de cache específica da página. Navegadores baseados no Mac OS X tendem a usar Command+ R. Existe uma atualização de cache equivalente para uma única página no Safari em execução no iOS?

Sei que posso limpar manualmente o cache do navegador, mas prefiro atualizar apenas a página que estou vendo no momento.

ahsteele
fonte
É isso que você está pensando? apple.stackexchange.com/questions/73153/...
bassplayer7
@ bassplayer7 está perto, mas não é o mesmo. Command + R atualiza apenas os recursos da página específica com a qual você está lidando. Significando que o JavaScript vinculado externamente a partir de uma CDN também seria atualizado. Isso exclui recursos que não são referenciados. É um controle muito refinado oferecido aos navegadores de desktop e é super útil para o desenvolvimento da web.
ahsteele
Faz sentido. Como desenvolvedor web, entendo seu ponto de vista de como é conveniente. Suponho que você já o faça, mas não posso deixar de mencioná-lo - eu uso este aplicativo da Adobe para o meu trabalho móvel. E acredito que reiniciar o Safari - por mais complicado que seja - é pelo menos mais uma atualização do que o botão. Eu não mexi com isso o suficiente para saber exatamente o que é refrescante, no entanto.
precisa
Pressionar o botão Atualizar na barra de endereço também não atualiza o conteúdo em cache?
Gerry

Respostas:

36

O encerramento forçado não funcionou de forma confiável para mim no iOS 8. O que fez foi usar o modo privado para testar:

  1. Abra a página no modo privado (e adicione-a aos favoritos para abri-la mais tarde).
  2. Quando você precisar atualizar, feche a "guia" do navegador (você pode permanecer no Safari e no modo privado).
  3. Abra a página novamente (use o marcador que você criou na etapa 1).
Marc Stober
fonte
1
Não é uma ótima solução, mas parece ser a melhor que o iOS nos dá para trabalhar.
Brendan
2
Como chego ao "modo privado"?
Linuxdan 26/03
No Mobile Safari: toque no ícone de dois quadrados, que mostrarão todas as guias abertas e revelarão o botão do modo "Privado" no canto inferior esquerdo. support.apple.com/pt-PT/HT203036
Matt Sephton
No iOS 13.1.3, isso não funciona mais.
timbo 16/10
11

Se você tiver o telefone conectado ao computador / laptop Apple, com as ferramentas de desenvolvedor do Safari abertas (e a janela ativa), você pode pressionar:

Command Key + Option + R

Zmart
fonte
Aposto que isso funciona se você usar um teclado Bluetooth com o telefone também.
rinogo 29/05
@rinogo Negative. Eu uso o teclado mágico da apple no meu ipad pro e "cmd + shift + r" não faz nada no navegador safari.
danielson317
7

Se você forçar o encerramento do Safari (clique no botão home, clique duas vezes no botão home, pressione e segure o ícone Safari na barra de multitarefa e toque no ponto vermelho), parece que o Safari limpará seu cache. Mas isso limpará o cache inteiro, não apenas uma única página.

Você também pode limpar os cookies e dados do Safari no aplicativo Configurações. Em Avançado, você pode limpar dados de sites individuais, o que pode funcionar se você conhecer todos os sites associados à página da Web que deseja liberar.

hotpaw2
fonte
1
Isso não está funcionando para mim (iOs 7.0.4).
Nabil Kadimi
3
Com o iOS 7, você lança o aplicativo para cima na lista recente / multitarefa para forçá-lo a sair.
hotpaw2
1
iOS 7.1 aqui, eu verifiquei através de ferramentas de desenvolvimento remoto do Safari e parece que os recursos, na verdade não são armazenados em cache após (pedidos Timelines> de rede) o app-desistir de força
fregante
5

Você pode forçar o dispositivo a parar o cache de arquivos, conectando-o a um computador com um cabo e ativando o modo de desenvolvedor do Safari.

  • Ative o Web Inspector no dispositivo móvel:
    Configurações> Safari> Avançado> Web Inspector
  • Activa as ferramentas dev no Safari no Mac:
    Safari> Preferências> guia Avançado> Mostrar Desenvolver na barra de menu
  • Conecte o dispositivo ao computador
  • Abra o painel de ferramentas de desenvolvimento para o dispositivo no Safari no computador:
    Desenvolva> iPhone de exemplo> example.com/page
  • Para desativar o armazenamento em cache, vá para a guia Rede e verifique se o pequeno ícone de "sem cache" é azul (parece um cilindro com uma passagem através dele).
  • Agora você deve conseguir atualizar a qualquer momento no dispositivo iOS e obterá uma versão atualizada não armazenada em cache!

Se você é um desenvolvedor web, esta é a maneira ideal de fazer isso, porque agora você tem acesso ao painel de ferramentas de desenvolvimento extremamente útil. E você não precisa repetir um processo irritante se precisar obter uma versão nova o tempo todo, não apenas limpar o cache uma vez.

Se você é apenas um usuário geral tentando limpar o cache, use um dos outros métodos aqui.


Atualização: agora você pode conectar-se ao dispositivo via WiFi. Pode ainda exigir configuração inicial com o cabo, mas você pode definitivamente se conectar sem ele depois disso.
Desenvolver> Exemplo de iPhone> Conectar via rede

squarecandy
fonte
1

Exclua os dados em cache de um único site acessando Configurações > Safari > Avançado > Dados do site > Mostrar todos os sites .

Toque em Editar no canto inferior direito da tela e role na lista ou pesquise no campo de pesquisa para encontrar o site que deseja limpar). Toque no vermelho - ícone ao lado do endereço do site, e depois toque no Excluir botão que aparece.

Volte ao Safari e recarregue a página, e todos os artefatos do site serão recarregados.

Nick Graham
fonte
Isso não funcionou. Os itens não podem ser clicados no meu iPad (iOS 12).
cheesus Então pare de prejudicar Monica
0

No Safari, ative o Modo Desenvolvedor. Em seguida, você pode usar a seguinte combinação para limpar o cache:

Option-Key + Command-Mac-Key + E 

Eu suponho que isso só eliminará o cache do site em que você está naquele momento.

Erdinc Ay
fonte
Infelizmente, suas instruções se aplicam apenas à versão desktop do Safari. A pergunta era sobre a versão do iOS.
Calum_b
-1

Toque duas vezes no botão Atualizar.

Helga
fonte
7
Isso funciona para alguém? O toque duplo interrompe a atualização iniciada no primeiro toque.
Brendan
Sim, essa foi a única coisa que realmente funcionou para mim. Não tenho certeza se isso apenas chuta safari na bunda, mas funciona.
Ben Rabidou
-3

você pode adicionar um número aleatório ao script ou vincular src como:

<link rel="stylesheet" href="css/main.css?rand=<?=$rand;?>" type="text/css" /> <script type="text/javascript" src="js/main.js?rand=<?=$rand;?>"></script>

isso força o Safari a recarregar o arquivo, porque ele pensa que é um arquivo diferente.

user84981
fonte
4
Como isso funciona do lado do usuário?
Nohillside
1
Anexe um parâmetro aleatório ao URL na parte superior...?rand=15
Aaron Digulla 30/06
Isso é chamado de "impedimento de cache", que faz com que a cadeia de URL seja única conforme o navegador a vê. Portanto, ele nunca encontrará esse URL em seu cache. (E o lado do host simplesmente ignora o GETparâmetro-completamente.) Mas, isso realmente não é a mesma coisa que o OP está pedindo.
Mike Robinson
@AaronDigulla Isso não funcionará para recursos vinculados, como arquivos e imagens CSS.
Flimm 17/09
-3

Pressione e segure o botão Atualizar. iPhone 6

Art Trzmiel
fonte
6
Isso traz um menu com "site para desktop pedido" em Phone 7.
Flimm