Tvinga webbläsaren att hämta om CSS-filer

Att göra ändringar i CSS:en kan vara irriterande då webbläsaren inte alltid känner för att hämta om CSS-filen. Detta kan vara väldigt problematiskt om man uppdaterar CSS:en på en sida som redan ligger live – hur kan man säkerhetsställa att alla användare ser uppdateringen omgående?

Ett väldigt bra knep är att lägga till en parameter på css-filen, likt:

<link rel="stylesheet" href="style.css?ver=1" />

När du sedan har uppdaterat CSS:en så uppdaterar du versionsnumret till exempelvis 2, sedan 3 o.s.v.

Har du ett projekt där du programmerar med PHP så kan man även på ett väldigt smart sätt utnjyttja funktionen filemtime(); (php.net) som talar om senast en specifik fil uppdaterades. Så här skulle ens PHP-kod kunna se ut:

$cssUpdateTime = filemtime('style.css');
$stylesheet = 'style.css?ver=' . $cssUpdateTime;

<link rel="stylesheet" href="<?= $stylesheet ?>" />

<!-- 
Ger något i stil med:
<link rel="stylesheet" href="style.css?ver=1345061074" />
-->

Så varje gång du uppdaterar CSS-filen så uppdateras "versionsnumret", och besökarnas webbläsare tolkar det som en ny URL till CSS-filen som den måste hämta om.