por Deni Marinho

Tratamento de cache do navegador com ASP

Por questões de performance, o navegador guarda em cache alguns arquivos vinculados ao HTML. Geralmente são CSSs e JSs. Porém, isso atrapalha quando precisamos alterar um destes arquivos.

Uma técnica que eu utilizo para resolver isso é alterar automaticamente o nome do arquivo chamado para forçar que o navegador baixe-o novamente.

Somente alterando o parâmetro na chamada, o navegador já entende se tratar de um novo arquivo. Mas não vamos fazer isso a cada vez que alterarmos um arquivo. Então, criei uma função que pega a data e hora de criação do arquivo.

Na linha que chama o arquivo CSS/JS, incluí o parâmetro cache e uma chamada para função GetFileModificationDateTime, passando por parâmetro o caminho completo do arquivo.

<link rel="stylesheet" type="text/css" href="../include/style.css?cache=<% =GetFileModificationDateTime("../include/style.css") %>" />

 O resultado no HTML será assim:

<link rel="stylesheet" type="text/css" href="../include/style.css?cache=2013-05-13T13:39:35" />

 E a função ASP:

 

<%
Function GetFileModificationDateTime(path)

Dim fs, file
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set file = fs.GetFile(Server.MapPath(path))

getFileModificationDateTime = Year(file.DateLastModified) & "-" & Right("00" & Month(file.DateLastModified),2) & "-" & Right("00" & Day(file.DateLastModified),2) & "T" & Right("00" & Hour(file.DateLastModified),2) & ":" & Right("00" & Minute(file.DateLastModified),2) & ":" & Right("00" & Second(file.DateLastModified),2)

Set file=nothing
Set file=nothing

End Function
%>


 

Comentários

Carregando comentários

Postar um novo comentário



Processando...