Como forçar o Internet Explorer (IE) a REALMENTE recarregar a página?

146

Ao usar o Internet Explorer 8 para testar meu aplicativo da web, muitas vezes descubro que ele não recarrega a página, por isso não vejo minhas alterações. Isso resultou em muito desperdício de tempo e frustração, me perguntando por que minha correção "não funcionou" - quando, na verdade, o navegador nunca carregou a versão fixa.

Eu tentei o botão Atualizar. Eu tentei F5 , Controle - F5 , Controle - R , < kbd> Controlar - Deslocar - R , mantendo Controle enquanto clica no botão Refresh, tudo em que eu poderia pensar - ele não faz t realmente carrega o novo conteúdo do servidor. Eu confirmei isso com o Fiddler.

Como eu digo ao IE " Eu não ligo para o que você acha que está em cache, quero recarregar a página - não, na verdade, quero dizer desta vez, honest-to-God, eu quero que você realmente vá para o servidor e baixe tudo novamente "?

    
por EMP 10.12.2009 / 00:52

12 respostas

119
  1. Selecione Ferramentas > > Opções da Internet .
  2. Clique no botão Configurações no Histórico de navegação .
  3. Selecione o botão de opção Toda vez que eu visitar a página da Web .
  4. Clique em OK para fechar a caixa de diálogo Configurações.
  5. Clique em OK para fechar a caixa de diálogo Opções da Internet.
por 10.12.2009 / 00:57
41

Desde que é declarado que o IE8 é o navegador, você pode pressionar F12 para abrir as ferramentas de desenvolvimento e selecionar o menu Cache no topo e depois atualizar do servidor para ignorar o cache.

Resumindo, Pressione F12 . Clique em Cache - > Sempre atualizar do servidor

Você pode simplesmente limpar seu cache aqui também, se essa for a ação desejada. A opção de atualização sempre não é uma opção global e não prejudicará o desempenho geral no IE.

O IE7 também possui ferramentas de desenvolvimento, mas elas devem ser instaladas separadamente. Você também pode usar as ferramentas de desenvolvimento do IE8 para executar o navegador no modo IE7.

    
por 08.07.2010 / 20:30
22

Ctrl + F5 no IE recarrega a página ignorando o cache

    
por 10.12.2009 / 01:38
16

O IE está muito ansioso para armazenar as páginas em cache, mesmo quando você diz que não via cabeçalhos de cache. A Microsoft KB 234067 explica os encantamentos necessários. Em suma, você precisa entregar os seguintes cabeçalhos.

Pragma: no-cache
Cache-Control: no-cache
Expires: <some time in the past>

A configuração de Expires = -1 (conforme recomendado no artigo da base de conhecimento) deve funcionar para a maioria das estruturas; os navegadores são obrigados a tratar formatos de data inválidos como sendo no passado ( RFC 2616 ).

No .NET, você pode fazer isso em uma granularidade página por página usando esse conjunto de métodos antes de chamar a página da Web:

HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1));
HttpContext.Response.Cache.SetValidUntilExpires(false);
HttpContext.Response.Cache.SetRevalidation(System.Web.HttpCacheRevalidation.AllCaches);
HttpContext.Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
HttpContext.Response.Cache.SetNoStore();

veja: link Funciona bem para o MVC3.0.

    
por 10.12.2009 / 02:31
6

A barra de ferramentas do desenvolvedor da Web tem um botão para limpar facilmente o cache. Eu costumo usar isso no caso que você descreve.

Não é ideal, pois você pode não querer limpar todo o cache, mas como não uso o IE para navegação geral, funciona para mim.

    
por 10.12.2009 / 00:58
4

Isso ainda acontece no IE9. Surpreendentemente, a resposta é Ctrl - Botão Shift -Refresh

    
por 01.04.2011 / 05:47
3

Incidentalmente, o problema possivelmente também existirá para os visitantes do seu site. Eu vi a seguinte ideia em um livro AJAX ...

Use o PHP para adicionar um token aleatório à URL atual para que o navegador seja induzido a pensar que é uma página separada.

    
por 10.12.2009 / 01:14
2

Eu mesmo tive o mesmo problema. Eu acredito que a única maneira de fazer isso é limpar o cache (Segurança - > Excluir Histórico de Navegação). Verifique apenas "Temporary Internet Files".

Espero que isso ajude.

    
por 10.12.2009 / 00:58
2

Mantenha pressionada a tecla alt ou ctrl ao clicar no botão atualizar.

    
por 17.11.2010 / 16:36
1

Concordo que adicionar um token aleatório ao URL é a solução mais confiável e, uma vez implementado, o usuário não precisa fazer nada.

Além da abordagem de token aleatório, o que costumo sempre fazer para forçar uma recarga completa (solicitação) da página e todos os seus arquivos dependentes, basta colocar meu cursor no final da URL e pressionar Enter. Funciona toda vez ... e eu uso o IE 8.

    
por 12.08.2010 / 04:58
1

F12 - > CTRL + R é ligeiramente mais rápido para o IE9 +. Como as pessoas mencionaram, o IE não limpa o cache de maneira muito inteligente, como o Chrome faz.

    
por 22.08.2012 / 20:35
1

Eu sei que isso pode parecer um pouco estranho ... mas uma coisa que tenho notado ultimamente é que às vezes você obtém resultados diferentes dependendo de como você "atualiza". Eu vi o seguinte comportamento:

F5 > carrega do cache sem atualizar,
Alt + D , ENTER > realmente atualiza ignorando o cache.
( Alt + D pode ser substituído clicando na barra de endereço)

    
por 10.12.2009 / 02:49