Выпраўце праблемы з кэшаваннем з Flash, JavaScript, XML, KML або Google Maps

Depositphotos 27736851 с

Гэта кароткі і салодкі пост па пытаннях кэшавання. Сайты і браўзэры створаны для рэальнай аптымізацыі рэсурсаў. Часам яны робяць гэта так добра, што канчатковы вынік на самай справе парушае ваш дынамічны сайт, а не абнаўляе яго так часта, як вам хацелася. Сёння я працаваў з JW Player, прайгравальнік Flash Movie, які збірае спіс фільмаў з дапамогай XML-файла.

Праблема ў тым, што мы заўсёды абнаўляем файл новымі семінарамі і навучальнымі класамі. Калі нашы кліенты працягвалі прыходзіць на старонку кожны дзень, яна загружала б кэшаваную версію спісу прайгравання і ніколі не паказвала ім самую свежую і самую лепшую.

У выніку мне давялося ўзламаць Код аб'екта SWF каб кожны раз думаў, што загружае новы спіс прайгравання.

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

Я падмануў гульца, паставіўшы радок запыту ў імя спіса, які генеруе выпадковы лік з дапамогай JavaScript. Незалежна ад таго, хто патрапіць на старонку, ён будзе шукаць іншае імя файла, таму плэер кожны раз будзе прыцягваць спіс прайгравання свежым.

Гэта не проста зручна для JW Player, я таксама выкарыстаў гэты прыём для Google Maps пры працы з файламі KML, якія дынамічна змяняюцца. Проста згенеруйце выпадковы радок запыту, і сістэма будзе перазагружаць (даволі статычны) файл KML кожны раз, калі карыстальнік наведвае. Гэта ўзлом, але гэта просты спосаб па сутнасці ператварыць кэшаванне ад у гэтых прыкладаннях, якія не маюць магчымасці.

Адзін каментар

  1. 1

Што вы думаеце?

Гэты сайт выкарыстоўвае Akismet для барацьбы са спамам. Даведайцеся, як дадзеныя апрацоўваюцца каментар.