Remediați problemele legate de cache cu Flash, JavaScript, XML, KML sau Google Maps
Aceasta este o postare scurtă și dulce pe probleme de cache. Site-urile și browserele sunt create pentru a optimiza cu adevărat resursele. Uneori o fac atât de bine, încât rezultatul final întrerupe site-ul dvs. dinamic, în loc să îl actualizeze atât de des pe cât doriți. Astăzi am lucrat cu JW Player, un player Flash Movie care extrage o listă de filme printr-un fișier XML.
Problema este că actualizăm întotdeauna fișierul cu noi seminarii web și cursuri de instruire. Dacă clienții noștri continuau să vină la pagină în fiecare zi, aceasta ar încărca o versiune cache a listei de redare și nu le va arăta niciodată cele mai recente și mai bune.
Ca urmare, a trebuit să sparg Cod obiect SWF astfel încât să creadă că încarcă de fiecare dată un nou playlist.
var video = new SWFObject('player.swf','mpl','670','280','9'); var playlist = 'playlist.xml't='+Math.round(1000 * Math.random()); video.addParam('allowscriptaccess','always'); video.addParam('allowfullscreen','true'); video.addParam('flashvars','&file='+playlist+'&playlistsize=350&controlbar=over&playlist=right'); video.write('video');
Modul în care am păcălit jucătorul a fost prin punerea unui șir de interogări pe numele listei care a generat un număr aleatoriu folosind JavaScript. Indiferent cine accesează pagina, va căuta un alt nume de fișier, așa că jucătorul va extrage lista de redare de fiecare dată.
Acest lucru nu este doar la îndemână pentru JW Player, am folosit această tehnică și pentru Google Maps atunci când lucrez cu fișiere KML care se schimbă dinamic. Pur și simplu generați un șir de interogare aleator și sistemul va reîncărca fișierul KML (destul de static) de fiecare dată când vizitatorul utilizatorului. Este un hack, dar este un mod ușor de a transforma în esență cache-ul de pe în aceste aplicații care nu au opțiunea.