06. april 2005 - 16:51
Der er
3 kommentarer og
1 løsning
meta tags for js filer.
Er der nogen der kender en enkelt metode hvorved man kan sikre sig at ens javascript filer aldrig bliver cashed. Det er i forbindelse med udviklingen at jeg synes det er ireterende at den nogen gange casher ?
Jeg bruger asp.net på serveren ?
Mvh
06. april 2005 - 18:29
#2
Jeg fandt ud af at man man kan sætte et lille parameter på.
Altså så at
<SCRIPT type='text/javascript' src='jsfil.js'></SCRIPT>
Bliver til:
<SCRIPT type='text/javascript' src='jsfil.js?ran=826362'></SCRIPT>
Hvor ran parametret er et tilfældigt tal - Det løser problemet, men det kræver jo at den web-side som javascripten ligger på er en server genereret side.
Måske kan man også gøre det på andre måder.
Mvh
07. april 2005 - 00:13
#3
<ole>
Njaahhh ... det er nu ikke helt rigtigt :)
En unik query-streng gør ikke, at script-filen ikke cache'es. Den gør blot, at browseren tror, der er tale om et nyt dokument, hvorfor det altid hentes fra serveren - ikke fra cache'en.
Da query-strengen ikke bruges til en snus på serveren, behøver det ikke det være et server-genereret dokument, du kalder. Det kan sagtens være et alm. JS-dokument.
En anden metode er at sætte passende HTTP-headers i et server-genereret dokument. Under PHP kan jeg kalde 'jsfil.php', hvori står:
------------- snip -------------
<?
// Content-Type for dokumentet:
header("Content-Type: text/javascript; charset=iso-8859-1");
// Div. HTTP-headers for dokumentet,
// der forhindrer det i at blive cached
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Et tidspunkt i fortiden
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); // Altid opdateret
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
alert("Dette er en server-genereret JS-fil, der ikke cache'es");
------------- /snip -------------
Så må du selv finde udaf, hvordan man sætter HTTP-headers under .net :)
/mvh
</bole>