Když klient reportuje už opravené chyby

Sun, 22 Jun 2014 13:15:40 +1100

Provádění stylových, grafických či JavaScriptových úprav na webové prezentaci a jejich následné posílání na validaci klientovi by vydalo na samostatný blog, já vám ale dnes ukážu jednoduchý tip, jak těmto situacím co nejvíce předejít. Znáte to: upravíte styl, napíšete, že je hotovo a klient vám obratem odpoví, že není.

Tak musíte znovu otevřít email, napsat mu, aby zmáčknul ctrl+F5 nebo ctrl+R a pak bude to v pořádku. Jenže po jisté době to samozřejmě začne být otravné... Jak tedy donutit prohlížeč aby smazal původní soubor v cache a nahradil ho novým?

Řešení je velice jednoduché. Využijeme GET parametrů tam, kde zdánlivě nic nedělají. Proměnná za otazníkem zpravidla slouží pro skriptovací jazyky a podmíněné zobrazení čehokoli, co v danou chvíli potřebujeme. Co se ale stane, když uvedeme parametr u obrázku či stylu? Prohlížeč takovýto zápis pochopí jako nový soubor, takže nezobrazí jeho starší verzi z cache ale načte ho pěkně znovu.



Styly samozřejmě GET proměnné neumí, takže na pozadí se nic nestane. Stane jenom to, co potřebujeme. Klient uvidí aktualizovanou verzi stylů. Stejnou fintu můžeme použít i u obrázků na pozadí: s nimi bývají největší problémy. Musíme samozřejmě zvýšit verzi i u linku na styly, v nichž pak obrázek na pozadí zapíšeme úplně stejně:

body {background:url(../img/body-bg.png?v=2) repeat-y 50% 0;}

JavaScript jako jediný umí teoreticky zpracovat GET proměnné se kterými je volán, takže pokud už něco takového používáme, prostě přidáme parametr druhý.