Como marcar caches de javascript do cliente como inválidos [duplicados]

2

Eu tenho um site que está simultaneamente em uso e em desenvolvimento, e de vez em quando eu preciso atualizar o Javascript. No entanto, visitar os navegadores (testados no Firefox) normalmente usará seus próprios javascripts armazenados em cache, mesmo que as cópias do lado do servidor tenham sido alteradas. Isso leva a problemas, especialmente quando a marcação da página é alterada junto com o javascript.

A única "solução" que encontrei é que o cliente visualiza o código-fonte, clica no javascript ofensivo e, depois de carregado na janela de exibição, atualiza a janela da fonte de exibição e atualiza a janela página atual. Isso dificilmente é uma solução. Existe alguma maneira de fazer isso de forma transparente, no servidor?

    
por Mala 16.10.2010 / 19:02

1 resposta

4

A melhor solução parece ser adicionar uma string de versão às suas solicitações.

javascript.js?v=xxx

Sempre que o arquivo é alterado, atualize a string de versão. Naturalmente, a string de versão não precisa fazer nada e sempre apontará para o mesmo arquivo. O navegador irá recarregar o arquivo javascript. A vantagem aqui é que você pode definir o tempo de vida do cache muito alto para reduzir a carga desnecessária também.

    
por 16.10.2010 / 19:07