Determinar uma página está desatualizada nas páginas do github
Páginas do Github define cabeçalhos de cache muito agressivos (Cache-Control: max-age=86400
1 dia,Expires
1 mês à frente) em todo o conteúdo veiculado.
Se você atualizar suas páginas e enviar para o github, as pessoas revisitando as páginas que já tiverem cópias em cache não receberão as novas páginas sem realmente limpar o cache do navegador.
Como um script executado em uma página determina que é obsoleto e forçar uma atualização?
As etapas podem ser:
determine que você está executando nas páginas do github:fácil, parsewindow.location
paragithub.com/
determinar a versão atual da página:Difícil, git não deixa você embutir o sha1em uma página confirmada; não RCS$id$
. Então, como você sabe qual versão você é?obtenha a versão atual no github;Difícil, o github livrou-se da API v2 não autenticada. E há uma diferença de tempo entre o envio para o github e o github para publicação também. Então, como você sabe qual versão você pode obter?Tendo determinado que você está obsoleto, como invalidar uma página e forçar o recarregamento?Difícil, window.location.reload(true)
não funciona no Safari / Chrome, por exemplo ...Então é resolvido-estes-passos; claro que pode haver outro caminho?