Pergunta

Existe alguma maneira de determinar ou forçar um arquivo CSS para ser re-cache se o usuário estiver operando fora de um arquivo antigo?

Foi útil?

Solução

A única maneira mais segura de garantir que todos recarrega seu novo arquivo é mudar a sua URL. Uma forma razoável de fazer isso sem realmente renomeá-lo é a aderência em uma seqüência aleatória:

<link rel='stylesheet' href='/mystyles.css?random=87365835'>

Isso de usar uma marreta para quebrar uma noz, e ignorando todos os mecanismos de HTTP que existem para fazer isso, mas com certeza vai trabalhar em todos os lugares, ao passo que as outras técnicas têm ressalvas.

Editar: @jitter: Você não tem que mudar a URL automaticamente para cada pedido - você poderia baseá-lo no timestamp do arquivo CSS, ou mesmo apenas alterá-lo à mão quando você quer garantir que a CSS fica recarregado.

Outras dicas

Você pode tentar editar os etags servidor: http://developer.yahoo.com/performance/rules.html#etags

Mas o método preferido é, provavelmente, para renomear seu arquivo CSS, como com a data ou o número de compilação, para que os usuários sempre terão a última.

Verifique esta solução em vez de usar xx.css? Rand = 213213213

O que é uma maneira elegante para forçar navegadores para recarregar CSS em cache / arquivos JS?

ou o Google para "auto de versão" plus a adição de javascript ou css. Ou "de versões de ativos automático"

Ele usa uma abordagem automática que altera o caminho da parte URL não anexando variáveis ??GET.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top