Novērsiet kešatmiņas problēmas ar Flash, JavaScript, XML, KML vai Google Maps
Šis ir īss un patīkams ieraksts par kešatmiņas problēmām. Vietnes un pārlūkprogrammas ir izveidotas, lai patiešām optimizētu resursus. Dažreiz viņi to dara tik labi, ka gala rezultāts faktiski sabojā jūsu dinamisko vietni, nevis atjaunina to tik bieži, cik vēlaties. Šodien es strādāju ar JW atskaņotājs, Flash Movie atskaņotājs, kas ievelk filmu sarakstu, izmantojot XML failu.
Problēma ir tā, ka mēs vienmēr atjauninām failu ar jauniem tīmekļa semināriem un apmācību nodarbībām. Ja mūsu klienti turpinātu apmeklēt lapu katru dienu, tā ielādētu atskaņošanas saraksta kešatmiņā saglabāto versiju un nekad viņiem neparādītu jaunāko un labāko.
Tā rezultātā man nācās uzlauzt SWF objekta kods lai tas domātu, ka tas katru reizi ielādē jaunu atskaņošanas sarakstu.
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');
Veids, kā es apmānīju atskaņotāju, bija, saraksta nosaukumā ievietojot vaicājumu virkni, kas ģenerēja nejaušu skaitli, izmantojot JavaScript. Neatkarīgi no tā, kurš apmeklēs lapu, tas meklēs citu faila nosaukumu, tāpēc atskaņotājs katru reizi ievilks atskaņošanas sarakstu jaunu.
Tas ir ērti ne tikai JW Player, bet arī izmantoju šo paņēmienu pakalpojumā Google Maps, strādājot ar KML failiem, kas mainās dinamiski. Vienkārši ģenerējiet nejaušu vaicājumu virkni, un sistēma atkārtoti ielādēs (diezgan statisko) KML failu ikreiz, kad lietotājs to apmeklēs. Tas ir uzlauzts, taču tas ir vienkāršs veids, kā būtībā pārvērst kešatmiņu no šajās lietojumprogrammās, kurām nav iespējas.