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


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 tempo perdido e frustração, imaginando 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, Ao controle-F5, Ao controle-R, Ao controle-Mudança-R, segurando Ao controle enquanto clico no botão Atualizar, tudo em que eu conseguia pensar - ele não carrega realmente o novo conteúdo do servidor. Eu confirmei isso com o Fiddler.

Como eu digo ao IE "Eu não me importo com o que você acha que tem em cache, eu quero recarregar a página - não, eu significa desta vez, honesto-a-deus, eu quero que você na realidade vá para o servidor e baixe tudo novamente"?


145


origem


Use uma janela de navegação privada, talvez? - Josh Lee
É possível que seu servidor da Web esteja atendendo a página antiga (via cache) em vez da nova versão? Não importa quantas vezes você recarregue nesse caso. - Michael Todd
Michael, não, verifiquei no Fiddler que o IE não está recebendo o conteúdo da página do servidor. - EMP
Control + F5 passa pelo Cache, é estranho se não ... - Tom Wijsman
Melhor redação de uma pergunta que encontrei até agora no StackExchange! - user785529


Respostas:


  1. Selecione Ferramentas >> Opções da Internet.
  2. Clique no Configurações botão in Histórico de Navegação.
  3. Selecione os Toda vez que eu visito a página da web botao de radio.
  4. Clique Está bem para fechar a caixa de diálogo Configurações.
  5. Clique Está bem para fechar a caixa de diálogo Opções da Internet.

119



Se foi isso que você fez, marque como resposta - Earlz
Pode prejudicar o desempenho geral da navegação, mas somente se você fizer sua navegação geral com o IE ... - Joel Mueller
Ev: O lado voltado para o usuário é geralmente corrigido ao alterar as URLs de todos os scripts e folhas de estilo toda vez que você toca no código, geralmente adicionando um ?version-number sufixo de string de consulta. - bobince
"Toda vez que eu visito a página da Web" provavelmente não faz o que você acha que faz. Vejo fiddler2.com/redir/?id=httpperf - EricLaw
Concordo com @EricLaw, se você usar o Fiddler, verá que os arquivos associados à página às vezes não são recarregados, mesmo quando "Toda vez que eu visitar a página da Web" estiver definido. Use o menu da barra de ferramentas do IE: Cache> Atualizar sempre do servidor ou o botão Limpar cache no Fiddler. - Phillip Ngan


Desde que é declarado que o IE8 é o navegador, você pode pressionar F12 para abrir as ferramentas de desenvolvimento e selecione o menu Cache na parte superior e, em seguida, atualize sempre do servidor para ignorar o cache.

Em resumo, pressione F12. Clique 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.


41



1 para resolver isso sem usar uma opção global. - Marcus Riemer
Igual a Aqui, que nem sempre atualiza todo o conteúdo. E eu não sei que essa recarga é boa em URLs - cada janela parece ter seu próprio F12 às vezes. este é uma maneira mais completa de fazer se, se você tiver acesso à inclusão do javascript. - ruffin
Como você faz isso no IE 11? Não há nenhuma opção de cache que eu possa encontrar. - David Thielen
No IE 11 esta opção está sob F12 -> Rede -> 3o ícone da esquerda. - Den


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


22



Não, não. Eu sei que ignora o cache algumas vezes, mas não o tempo todo. - EMP
Ctrl + f5 sempre recarrega a página do servidor. O que não necessariamente faz é recarregar os arquivos extras que a página referencia
Justo o suficiente - mas eu preciso recarregar TUDO. - EMP
CTRL + F5 deve executar uma atualização completa da página e todos os seus recursos. Chamadas feitas via XMLHTTPRequest mais tarde podem ser armazenadas em cache (se você não quiser que elas sejam armazenadas em cache, envie cabeçalhos no-cache apropriados). A única ressalva é que, se a página em questão é XML, ela está realmente sendo carregada via MSXML e que o DocHost NÃO respeita CTRL + Refresh adequadamente. - EricLaw
ctrl + f5 nem sempre recarrega tudo do servidor. Nos meus testes, o javascript contido no arquivo html não é recarregado depois de pressionar ctrl-f5, mesmo que a página tenha sido alterada. - rcarver


O IE está muito ansioso para armazenar páginas em cache, mesmo quando você diz para não via cabeçalhos de cache. 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>

Configuração Expires = -1 (como recomendado no artigo da base de conhecimento) deve funcionar para a maioria dos frameworks; 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();

Vejo: http://www.localwisdom.com/blog/2012/10/force-a-page-refresh-on-a-asp-net-mvc-website/ Funciona bem para o MVC3.0.


14



Falso. O IE6 + respeita totalmente todos os cabeçalhos que proíbem o cache. fiddler2.com/redir/?id=httpperf - EricLaw
Tudo isso está muito bem, mas não ajuda a WRT. - Matthias Urlichs


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 é 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.


6





Isso ainda acontece no IE9. Surpreendentemente, a resposta é Ctrl-MudançaBotão -Refresh


4



Isso funciona de maneira diferente do botão Ctrl-Refresh? - Jon Onstott


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

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


3



Torna os URLs feios, no entanto. - LawrenceC


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). Apenas marque "Arquivos Temporários da Internet".

Espero que isto ajude.


2





Mantenha pressionado o alt ou ctrl tecla como você clica no botão de atualização.


2