Løs problemer med cache med Flash, JavaScript, XML, KML eller Google Maps

Depositphotos27736851 s

Dette er et kort og sødt indlæg om caching-problemer. Websteder og browsere er bygget til virkelig at optimere ressourcer. De gør det så godt nogle gange, at slutresultatet faktisk bryder dit dynamiske websted i stedet for at opdatere det så ofte, som du vil. I dag arbejdede jeg med JW-afspiller, en Flash Movie-afspiller, der trækker en liste over film via en XML-fil.

Problemet er, at vi altid opdaterer filen med nye webinarer og træningskurser. Hvis vores kunder fortsatte med at komme til siden hver dag, ville den indlæse en cachelagret version af playlisten og aldrig faktisk vise dem den nyeste og bedste.

Som et resultat måtte jeg hacke SWF Objektkode så den troede, at den indlæste en ny playliste hver gang.

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');

Den måde, jeg narrede afspilleren på, var ved at sætte en forespørgselsstreng på listenavnet, der genererede et tilfældigt tal ved hjælp af JavaScript. Uanset hvem der rammer siden, vil den lede efter et andet filnavn, så afspilleren trækker spillelisten frisk hver gang.

Dette er ikke kun praktisk for JW Player, jeg har også brugt denne teknik til Google Maps, når jeg beskæftiger mig med KML-filer, der ændres dynamisk. Opret blot en tilfældig forespørgselsstreng, og systemet genindlæser den (ret statiske) KML-fil, hver gang brugeren besøger. Det er et hack, men det er en nem måde at dreje cache i det væsentlige på off i disse applikationer, der ikke har mulighed.

En kommentar

  1. 1

Hvad mener du?

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.