Trwsio Materion Caching gyda Flash, JavaScript, XML, KML neu Google Maps

Depositphotos 27736851 s

Mae hon yn swydd fer a melys ar faterion caching. Mae safleoedd a phorwyr yn cael eu hadeiladu i wneud y gorau o adnoddau. Maen nhw'n ei wneud cystal weithiau fel bod y canlyniad terfynol yn torri'ch gwefan ddeinamig yn lle ei diweddaru mor aml ag yr hoffech chi. Heddiw roeddwn i'n gweithio gyda Chwaraewr JW, chwaraewr Ffilm Flash sy'n tynnu rhestr o ffilmiau i mewn trwy ffeil XML.

Y broblem yw ein bod bob amser yn diweddaru'r ffeil gyda gweminarau a dosbarthiadau hyfforddi newydd. Pe bai ein cleientiaid yn parhau i ddod i'r dudalen bob dydd, byddai'n llwytho fersiwn wedi'i storio o'r rhestr chwarae a byth byth yn dangos y diweddaraf a'r mwyaf iddynt.

O ganlyniad, bu’n rhaid imi hacio’r Cod Gwrthrych SWF fel y byddai'n meddwl ei fod yn llwytho rhestr chwarae newydd bob tro.

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

Y ffordd y gwnes i dwyllo'r chwaraewr oedd trwy roi querystring ar enw'r rhestr a oedd yn cynhyrchu rhif ar hap gan ddefnyddio JavaScript. Waeth pwy sy'n taro'r dudalen, mae'n mynd i chwilio am enw ffeil gwahanol, felly bydd y chwaraewr yn tynnu'r rhestr chwarae yn ffres bob tro.

Nid yw hyn yn ddefnyddiol yn unig i JW Player, rwyf hefyd wedi defnyddio'r dechneg hon ar gyfer Google Maps wrth ddelio â ffeiliau KML sy'n newid yn ddeinamig. Yn syml, cynhyrchwch ymholiad ar hap a bydd y system yn ail-lwytho'r ffeil KML (eithaf sefydlog) bob tro y bydd y defnyddiwr yn ymweld. Mae'n hac, ond mae'n ffordd hawdd o droi caching yn y bôn oddi ar yn y cymwysiadau hyn nad oes ganddynt yr opsiwn.

Un sylw

  1. 1

Beth ydych chi'n feddwl?

Mae'r wefan hon yn defnyddio Akismet i leihau sbam. Dysgwch sut mae eich data sylwadau yn cael ei brosesu.