Risolvi i problemi di memorizzazione nella cache con Flash, JavaScript, XML, KML o Google Maps

27736851 s

Questo è un post breve e piacevole sui problemi di memorizzazione nella cache. Siti e browser sono progettati per ottimizzare davvero le risorse. A volte lo fanno così bene che il risultato finale rompe effettivamente il tuo sito web dinamico invece di aggiornarlo tutte le volte che desideri. Oggi stavo lavorando con Giocatore JW, un lettore di filmati Flash che estrae un elenco di film tramite un file XML.

Il problema è che aggiorniamo sempre il file con nuovi webinar e corsi di formazione. Se i nostri clienti continuassero a visitare la pagina ogni giorno, caricherebbe una versione cache della playlist e non mostrerebbe mai loro l'ultima e la migliore.

Di conseguenza, ho dovuto hackerare il file Codice oggetto SWF in modo che possa pensare di caricare ogni volta una nuova 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');

Il modo in cui ho ingannato il giocatore è stato inserire una stringa di query nel nome dell'elenco che ha generato un numero casuale utilizzando JavaScript. Non importa chi visita la pagina, cercherà un nome di file diverso, quindi il giocatore inserirà la playlist ogni volta.

Questo non è solo utile per JW Player, ho anche usato questa tecnica per Google Maps quando ho a che fare con file KML che cambiano dinamicamente. Genera semplicemente una stringa di query casuale e il sistema ricaricherà il file KML (abbastanza statico) ogni volta che l'utente visita. È un trucco, ma è un modo semplice per trasformare essenzialmente il caching MENO in queste applicazioni che non hanno l'opzione.

Un commento

  1. 1

Cosa ne pensi?

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati dei tuoi commenti.