Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amigos
Estou com um pequeno problema em um sistema PHP.
Periodicamente venho fazendo algumas atualizações no sistema web como alteração nos arquivos html, js e css porém como esperado essas alterações não são sentidas nos navegadores da maioria dos clientes, até que eles limpem o cache ou CRTL + F5. Assim estou tendo grandes problemas, pois além do layout do sistema, também esta afetando mascaras como por exemplo campos de preço onde deveria auto preencher com formato de preço(R$ 0,00), algumas regras como por exemplo campos que devem ser convertidos para letras maiúsculas. Pra resolver esse problema comecei a versionar os arquivos há cada atualização, assim foi resolvido na maioria dos navegadores, porém ainda tenho casos que o problema persiste.
Alguma dica do que mais pode ser feito para que consiga afetar todos os clientes ?
A solução irá gerar mais problema do que o problema em sí.
Quando se acessa um website pela primeira vez, o browser faz o download de arquivos js e css e armazena-os em cache, para que da próxima vez aquele website seja carregado mais rápido. Ou seja ele não fará o download novamente e sim reutilizará os dados já em cache.
Se pensar também sobre as tarifas mobile cobrado no brasil que são abusivamente caras, forçar um novos downloads dos arquivos é "dar um tiro no pé".
O ideal é que termine a aplicação só então disponibilize online para acesso assim você evita qualquer problema.
Você pode configurar navegadores para não salvar cache durante o processo de produção, assim terminar sua ferramenta só então colocar-la em nuvem.
Não irei postar como você pode forçar esses novos downloads porque isso vai contra as boas práticas na web e muitos leigos adotariam esse método poluindo ainda mais a web. Mas posso lhe responder por MP, caso seja vitalmente necessário "coisa que não acho que seja".