Browser cache “kijátszása”
Nagyon jó dolog a browserek lokális cache-e, de tényleg! ![]()
Viszont sok webprogramozó rémálmaiban jön el?, mikor fél órán kersztül keresi valamiben a hibát, és kiderül, hogy csak a cache miatt volt az egész…. grrrr
Ezt kiküszöbölend?, használjunk egy kis trükköt, amivel rákényszeríthetjük a browsert, hogy újból letöltse az elemet. Képnél mutatom, de igazából bármire használható a dolog.
Mondjuk, hogy egy képgaléria szerkeszt?t készítünk php-ba, ahol az user képeket tud feltölteni, ami majd megjelenik a weboldalon szépen. Feltölt egy alma.jpg nev? képet. Kitörli, majd ismét feltölti egy másik alma nev? képet a szerverre, és hoppá… az el?z? kép köszön vissza. Ha nyomogatja szaporán az f5 billenty?t egyszer csak megjelenik az új kép, de hát ez így nem jó.
Ezért megjelenítéskor használjuk úgy a képet, hogy:
<img src="alma.jpg?rnd=randomszám">
A randomszám helyére pedig generáljunk php-ban, vagy bármiben amivel programozzuk az oldalt, egy véletlenszámot. Mivel egy képnek nem nagyon van paramétere a szerver nem foglalkozik vele, viszont a böngész? a teljes URL alapján dönti el a cache-elést ezért le fogja tölteni újra a képet. Persze ez növeli a cache-t, de ezért van a limit.
Én f?leg AJAX-os lekérésnél használom a trükköt, hogy mindíg biztos legyek benne, hogy az új elem jön le a szerverr?l.
Comments:
You must be logged in to post a comment.