Отстранете проблемите с кеширането с 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 за намаляване на спама. Научете как се обработват данните за коментарите ви.