ti-enxame.com

Parar o Chrome Caching My JS Files

Eu vou fazer uma alteração nos meus arquivos JS, mas isso realmente não vai mudar no navegador, eu tenho que renomear os arquivos toda vez para recarregá-los. Existe algum tipo de comando .htaccess eu posso adicionar ou algo para fazer parar o cache? 

É mesmo caching meu núcleo rígido de páginas html. Preciso reabrir todo o meu navegador apenas para ver as alterações. Poderia ser um problema no servidor?

121
Howdy_McGee

Você pode clicar no ícone de configurações no canto superior direito ... | Mais ferramentas | Ferramentas do desenvolvedor | Rede | Desativar cache (enquanto o DevTools estiver aberto)

Para o windows, isso é F12 ou CTRL + SHIFT + I enquanto no mac CMD + SHIFT + I abre o DevTools.

Novo caminho para a atualização do Google Chrome setembro de 2018:

Clique no ícone de configurações no canto superior direito ... | Configurações | Preferências | Ferramentas do desenvolvedor | Rede | Desativar cache (enquanto o DevTools estiver aberto)

184
MartinHN

Uma maneira mais rápida de fazer isso é clicando com o botão direito do mouse no ícone de atualização ao lado da barra de endereço e escolhendo Empty Cache and Hard reload

Apenas certifique-se de que as ferramentas de desenvolvimento do Chrome estejam abertas. (Pressione F12) A propósito ... Esse truque só funciona no Chrome para Windows, Ubuntu e Mac OS

56
Nicole Rivers

Segure a tecla shift enquanto clica no botão de recarga.

16
StilesCrisis

some Algo como script.js?a=[random Number] com o número Random gerado pelo PHP.

Você já tentou expire = 0, o pragma "no-cache" e "cache-control = NO-CACHE"? (Eu não sei o que eles dizem sobre scripts). 

12
EGOrecords

Algumas ideias:

  1. Quando você atualizar sua página no Chrome, faça um CTRL + F5 para fazer uma atualização completa.
  2. Mesmo se você definir o expires como 0, ele ainda ficará em cache durante a sessão. Você terá que fechar e reabrir seu navegador novamente.
  3. Certifique-se de salvar os arquivos no servidor, os carimbos de data/hora estão sendo atualizados. O Chrome emitirá primeiro um comando HEAD em vez de um GET completo para ver se precisa baixar o arquivo completo novamente e o servidor usará o registro de data e hora para ver.

Se você quiser desativar o cache no seu servidor, você pode fazer algo como:

Header set Expires "Thu, 19 Nov 1981 08:52:00 GM"
Header set Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
Header set Pragma "no-cache"

Em .htaccess

10
Mike Christensen

Etapas rápidas:

1) Abra o painel Ferramentas do desenvolvedor acessando o menu do Chrome -> Ferramentas -> Ferramentas do desenvolvedor

2) Clique no ícone de configurações no lado direito (é uma engrenagem!)

3) Marque a caixa "Desativar cache (quando o DevTools estiver aberto)"

4) Agora, enquanto o painel está ativo, basta clicar em atualizar e o JS não será armazenado em cache!

6
StackG

Ao fazer atualizações em meus aplicativos da Web, usarei um manipulador para retornar um único arquivo JS para evitar as grandes ocorrências em meu servidor ou adicionar uma pequena cadeia de consulta a elas:

<script type="text/javascript" src="/mine/myscript?20111205"></script>
2
Ryan Ternier
<Files *>
Header set Cache-Control: "no-cache, private, pre-check=0, post-check=0, max-age=0"
Header set Expires: 0
Header set Pragma: no-cache
</Files>
1
Alfabravo

O problema é que o Chrome precisa ter must-revalidate no cabeçalho Cache-Control` para verificar novamente os arquivos para ver se eles precisam ser reavaliados.

Você sempre pode SHIFT-F5 e forçar o Chrome a atualizar, mas se você quiser corrigir esse problema no servidor, inclua este cabeçalho de resposta:

Cache-Control: must-revalidate

Isso informa ao Chrome para verificar com o servidor e ver se há um arquivo mais recente. Se houver um arquivo mais novo, ele será recebido na resposta. Caso contrário, receberá uma resposta 304 e a garantia de que a que está no cache está atualizada.

Se você NÃO definir esse cabeçalho, na ausência de qualquer outra configuração que invalida o arquivo, o Chrome nunca verificará com o servidor para ver se há uma versão mais recente.

Aqui está um post de blog que discute a questão ainda mais.

1
AgilePro

Eu sei que esta é uma questão "antiga". Mas as dores de cabeça com cache nunca são. Após muitos testes e erros, descobri que um de nossos provedores de hospedagem na web tinha através do CPanel esse aplicativo chamado Cachewall. Eu cliquei em Ativar modo de desenvolvimento e ... voilà !!! Parou o longo sofreu dor de imediato:) Espero que isso ajude alguém ... R

1
Ramon Araujo
  1. Ferramentas abertas para desenvolvedores

    • F12
    • Ou ... -> More Tools -> Developer Tools
  2. Clique em Empty Cache and Hard Reload

    • Clique com o botão direito do mouse no ícone de atualização (apenas à esquerda para acessar a barra de endereços)
    • Ou clique com o botão esquerdo do mouse no ícone de atualização e segure-o por 1 segundo
0
Xin Wang

Você pode abrir uma janela anônima. Mudar para uma janela incógnita funcionou para mim ao desativar o cache em uma janela normal do Google Chrome, mas ainda não recarreguei um arquivo JavaScript que eu havia alterado desde o último cache.

https://www.quora.com/Does-incognito-mode-on-Chrome-use-the-cache-that-was-previously-stored

0
jones-chris

Eu estava recebendo o mesmo arquivo css quando eu navegar no site (no servidor da empresa de hospedagem com domínio real) e não consegui obter a versão atualizada no chrome. Consegui obter a versão atualizada do arquivo quando o naveguei no Firefox. Nenhuma dessas respostas funcionou para mim. Eu também tenho os arquivos do site na minha máquina e navegar no site com localhost usando o meu servidor Apache local. Eu desliguei meu servidor Apache e consegui obter o arquivo atualizado. De alguma forma, meu servidor Apache local estava mexendo com o cache chrome. Espero que isso ajude alguém, pois foi muito difícil para mim consertar isso. 

0
Alp Hancıoğlu