Esta questão é semelhante a Rastrear quando o usuário pressiona o botão Voltar no navegador , mas não é o mesmo ... Tenho uma solução e a estou postando aqui para referência e feedback. Se alguém tiver opções melhores, sou todo ouvidos!
A situação é que tenho uma página com uma "edição no local", a la flickr. Ou seja, há um DIV "clique aqui para adicionar uma descrição", que quando clicado se transforma em uma TEXTAREA com os botões Salvar e Cancelar. Clicar em Salvar envia os dados para o servidor para atualizar o banco de dados e coloca a nova descrição no DIV no lugar de TEXTAREA. Se a página for atualizada, a nova descrição será exibida no banco de dados com uma opção "clique para editar". Coisas razoavelmente normais da Web 2.0 atualmente.
O problema é que se:
- a página é carregada sem a descrição
- uma descrição é adicionada pelo usuário
- a página é navegada para fora clicando em um link
- o usuário clica no botão Voltar
Então, o que é exibido (do cache do navegador) é a versão da página sem o DIV modificado dinamicamente contendo a nova descrição.
Este é um problema bastante grande, pois o usuário presume que sua atualização foi perdida e não necessariamente entenderá que precisa atualizar a página para ver as mudanças.
Portanto, a pergunta é: como você pode sinalizar uma página como modificada após ser carregada e, em seguida, detectar quando o usuário "volta para ela" e forçar uma atualização nessa situação?