google chrome working Desativando o cache do Chrome para desenvolvimento de website




from disk cache disable (24)

Estou modificando a aparência de um site (modificações CSS), mas não consigo ver o resultado no Chrome devido a um cache persistente irritante. Eu tentei Shift + atualizar, mas não funciona.

Como posso desativar o cache temporariamente ou atualizar a página de alguma forma que eu possa ver as alterações?


Há mais duas opções para desativar o cache de páginas no Google Chrome :

1. Desativar o cache do Chrome no registro

Abra o Registro (Iniciar -> Comando -> Regedit)

Pesquisar por: HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

Altere a peça após ... chrom.exe "para este valor: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

Exemplo: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

IMPORTANTE:

  • há um espaço e um hífen depois de ... chrome.exe "

  • deixe o caminho para chrome.exe como é

  • Se você copiar a linha, certifique-se de verificar se as aspas são cotas reais.

2. Desativar o cache do Chrome, alterando as propriedades de atalho

Clique com o botão direito no ícone do Chrome e selecione "Propriedades" no menu de contexto. Adicione o seguinte valor ao caminho: –disk-cache-size=1

Exemplo: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1

IMPORTANTE:

  • há um espaço e um hífen depois de ... chrome.exe "

  • deixe o caminho para chrome.exe como é


Para ser claro, a caixa de seleção desativar cache no Chrome (v17 aqui, mas desde v15 eu acredito) não está nas configurações principais da interface do usuário. Está na interface de configurações de ferramentas do desenvolvedor.

  1. No menu do ícone de chave inglesa da janela do navegador (menu de prefs), escolha Ferramentas → Ferramentas do desenvolvedor

  2. Na interface do usuário das ferramentas do desenvolvedor, clique no ícone de engrenagem no canto inferior direito.

  3. Marque a caixa de seleção 'Desativar cache' na seção Rede.


Não tenho certeza do que você está usando, mas se você estiver usando o asp.net você pode fazer o seguinte, que funciona como um encanto:

<link href="@Url.Content("~/Content/Site.css")[email protected]" rel="stylesheet" />

Basicamente, ele anexará automaticamente a Data e a Hora ao final do arquivo toda vez que ele for executado, o que significa que, como o nome do arquivo é tecnicamente diferente, você nunca terá que se preocupar com o armazenamento em cache novamente.


Eu estava em uma situação que o navegador carregar os dados de cache do disco, mesmo eu verifiquei ele desativado cache (eu estava usando o Chrome). Todos os meus css e js estavam carregando do servidor, mas não da página da web. Isso estava acontecendo tanto no meu local quanto na produção.

Para consertá-lo, eu preciso colocar um parâmetro extra no meu URL para forçar o navegador a obter a página do servidor, mesmo que o controlador não precise dela.

Eu estava usando o asp.net, então aqui está o meu exemplo

//Controller function
public ActionResult Index()
    {
        return View();
    }
//Link
@Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})

O resultado é que ele irá gerar um link como: http://www.myweb.com/Home/Index?ts=636558555408282209

Esta é a minha situação e solução. Espero que possa ajudar alguém.


Acabei de ser pego, mas não necessariamente devido ao Chrome.

Eu estou usando o jQuery para fazer solicitações de AJAX. Eu tinha o atributo de cache definido como true na solicitação:

   $.ajax({
        type: 'GET',
        cache: true,
        ....

Definir isso como falso resolveu meu problema, mas isso não é ideal.

Não tenho ideia de onde esses dados são salvos, mas sei que o Chrome nunca atingiu o servidor para uma solicitação.


O Chrome DevTools pode desativar o cache.

  1. Clique com o botão direito do mouse e escolha Inspect Element para abrir o DevTools. Ou use os seguintes atalhos de teclado :
    • F12
    • Comando + Opção + i no Mac
    • Control + Shift + i no Windows ou Linux
  2. Clique em Network na barra de ferramentas para abrir o painel de rede.
  3. Marque a Disable cache seleção Disable cache no topo.

Tenha em mente, como um tweet de @ChromiumDev afirmou, esta configuração está ativa somente enquanto os devtools estão abertos .

Observe que isso resultará em todos os recursos sendo recarregados. Caso deseje desabilitar o cache apenas para alguns recursos, você pode modificar o cabeçalho HTTP que seu servidor envia ao lado de seus arquivos.

Se você não quiser usar a Disable cache seleção Disable cache , pressione demoradamente o botão de atualização com o DevTools aberto e mostre um menu com as opções Hard Reload ou Empty Cache and Hard Reload que devem ter um efeito similar. Leia sobre a diferença entre as opções . Os seguintes atalhos estão disponíveis:

  • Comando + Opção + R no Mac
  • Control + Shift + R no Windows ou Linux


Desde a versão 50 (se bem me lembro), a opção "Desativar cache" foi removida das configurações do Devtool. Vá para a guia "Rede" e há a opção "Desativar cache".


Isso pode ajudar alguém.

Eu montei meu Nginx para cache maluco. Assim, desabilitar o cache nas ferramentas de rede e limpar explicitamente o cache não funciona.

Uma solução simples, mas chata, é simplesmente abrir uma nova guia anônima. Surpreendentemente, funciona o tempo todo!

Uma atualização difícil no modo de navegação anônima faz o truque sempre que desejo recarregar no mesmo modo.


Eu usei as outras opções descritas acima, mas acho que o melhor é adicionar o seguinte parâmetro para a inicialização do chrome.exe.

"C: \ Arquivos de Programas (x86) \ Google \ Chrome \ Aplicativo \ chrome.exe" --disk-cache-size = 1 -media-cache = 1

Acho não desabilitar o cache de mídia é uma boa idéia, mas está aqui por completo.

Na verdade, eu quero uma opção para desativar completamente o cache, para usar a memória para IO em vez do meu disco (o que tornaria o carregamento 10 vezes mais rápido também!), Mas não acredito que o Chrome ou qualquer navegador tenha essa opção ainda .


  1. Abra o console do desenvolvedor do Chrome pressionando F12 e, em seguida (com o console aberto):

  2. Clique com o botão direito do mouse (ou segure o botão esquerdo) no botão de recarga na parte superior do navegador e selecione "Cache Vazio e Recarga Difícil".

Isso irá além de "Hard Reload" para esvaziar completamente o cache, garantindo que qualquer coisa baixada via javascript ou etc. também evite o uso do cache. Você não tem que mexer com as configurações ou qualquer coisa, é uma solução rápida de 1 tiro.


  1. F12 para abrir o Chrome DevTools
  2. F1 para abrir as configurações do DevTools
  3. Marque a opção Desativar cache (enquanto o DevTools estiver aberto) como mostrado abaixo:

Isso está atualmente na guia Preferências, que é o padrão. Você pode precisar rolar para baixo. Esta caixa de seleção foi movida pelo menos algumas vezes desde que essa pergunta foi feita. A última vez que verifiquei, estava na coluna do meio na parte inferior. Se você tiver aberto em uma tela mais fina e houver duas colunas em Preferências, pode estar perto do canto superior direito. Sinta-se à vontade para atualizar esta postagem se ela mudar ou comentar e eu atualizarei a postagem.


Ei, se o seu site estiver usando PHP, coloque o pequeno trecho do PHP abaixo no começo da sua página html:

   //dev versioning - stop caching
   $rand = rand(1, 99999999);

Agora, em todos os locais em que você carregar recursos, como arquivos CSS ou JS, em um script ou elemento de link, você anexa o valor aleatório gerado ao URL da solicitação após acrescentar "?" para o URI via PHP:

    echo $rand;

É isso aí! Não haverá mais nenhum navegador que armazene seu site - independentemente de qual tipo.

Naturalmente, remova seu código antes de publicar ou simplesmente defina $ rand como uma string vazia para permitir o armazenamento em cache novamente.


Se você não quiser editar as configurações do Chrome, poderá usar o modo de navegação anônima para os mesmos resultados.


Como posso desativar o cache temporariamente ou atualizar a página de alguma forma que eu possa ver as alterações?

Não está claro qual "cache" você está se referindo. Existem vários métodos diferentes que um navegador pode armazenar em cache o conteúdo de forma persistente. Web Storage sendo um deles, Cache-Control sendo outro.

Alguns navegadores também têm um Cache , usado em conjunto com os Service Workers , para criar Progressive Web Apps (PWAs), fornecendo suporte offline.

Para limpar o cache de um PWA

self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })

Para listar os nomes das chaves de cache, execute:

self.caches.delete('my-site-cache')

para excluir uma chave de cache pelo nome (ou seja, my-site-cache ). Em seguida, atualize a página.

Se você vir algum erro relacionado ao trabalho no console após a atualização, talvez seja necessário cancelar o registro dos trabalhadores registrados:

navigator.serviceWorker.getRegistrations()
  .then(registrations => {
    registrations.forEach(registration => {
      registration.unregister()
    }) 
  })

Que tal um bookmarklet que altera o nome da página para impedir o cache da página. No Chrome, você cria um novo favorito e cole o código no URL. Clique no marcador e a página será recarregada com timestamp para impedir o cache.

javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();

Se você estiver usando ServiceWorkers (por exemplo: para aplicativos da Web progressivos), provavelmente será necessário verificar "Atualizar no recarregamento" em Application> Service Workers em ferramentas de desenvolvimento também.


No Canary Channel (e talvez o canal dev e stable acompanhe) esta é a segunda opção geral no lado esquerdo sob a seção "General".

Além disso, há sempre a opção de alternar para o Modo de navegação anônima via Ctrl + Shift + N. Mesmo que infelizmente isso também termine sua sessão.


Existe uma maneira melhor e mais rápida agora (Chrome versão 59.xx):

Clique com o botão direito do mouse no ícone de recarregamento (à esquerda do campo de URL) e você terá um menu suspenso, selecionando a terceira opção: 'cache vazio e recarregamento do disco rígido'.

Esta opção só está disponível quando as ferramentas do desenvolvedor estão abertas. (Observe a diferença para a opção 2: 'Hard reload' -cmd-shift-R). Nenhum esvaziamento de cache aqui!


Na verdade, se você não se importar em usar a largura de banda, ela será mais segura por várias razões para desabilitar o cache e aconselhada por muitos sites de segurança.

O Chromium não deve ser arrogante o suficiente para tomar decisões e impor configurações aos usuários.

Você pode desativar o cache no UNIX com --disk-cache-dir = / dev / null.

Como isso é inesperado, podem ocorrer falhas, mas se ocorrerem, isso indicará claramente um bug mais grave que deve ser corrigido em qualquer caso.


Até que o bug seja corrigido, você pode usar o plugin Clear Cache Chrome e também pode definir um atalho de teclado para ele.

Depois de instalá-lo, clique com o botão direito e vá para as opções:

http://j.mp/15ZdA6f

Selecione Automatically reload active tab after clearing data :

http://j.mp/15ZdGLh

Selecione Everything para Período de Tempo:

http://j.mp/15ZdPy7

E então você pode ir para Menu => Ferramentas => Extensões:

http://j.mp/15ZehfX

Clique nos atalhos de teclado na parte inferior:

http://j.mp/15Zepft

E defina seu atalho de teclado, por exemplo, Ctrl + Shift + R :

http://j.mp/15Zev6M


O cache killer do Chrome é de longe a melhor opção. Como o URL da loja para instalar o cache killer está inativo, você pode baixar o arquivo CRX aqui:

https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/

Depois que o arquivo de extensão for baixado, abra o Chrome -> mais ferramentas -> extensões e arraste o arquivo CRX do Gerenciador de arquivos ou da área de trabalho (dependendo do local onde você baixou o arquivo) para instalar a extensão.


Limpando o cache é muito chato quando você precisa limpar o cache 30 vezes por hora .. então eu instalei uma extensão do Chrome chamada Classic Cache Killer que limpa o cache em cada carregamento de página.

Chrome Store Link (gratuito) (agora sem malware!)

Agora meu json mock, javascript, css, html e atualização de dados toda vez em cada carregamento de página .

Eu nunca tenho que me preocupar se preciso limpar meu cache.

Há cerca de 20 limpadores de cache para o Chrome que encontrei, mas este parecia um esforço leve e zero. Em uma atualização, o Cache Killer agora pode ficar "sempre ligado".

Nota: Eu não conheço o autor do plugin de forma alguma. Eu só achei útil.


Usar Ctrl + Shift + R para atualizar foi bom, mas não consegui tudo de que precisava. ainda assim algumas coisas não seriam atualizadas, como dados armazenados em js e css. encontrei uma solução: uma barra de ferramentas do google para desenvolvedores web chrome . Depois de instalar a barra de ferramentas, selecione as opções e "redefinir página".


Eu tive o mesmo problema, tentei:

  • Controle Remoto R,
  • Desativar cache no F12
  • Controle F5.

Então descobri que usar um manifesto .appcache para um site não https é obsoleto . Eu removi meu arquivo site.appcache e sua referência na tag html e agora estou vendo a versão mais recente de cada página!





browser-cache