Устранение проблем с кешированием с помощью 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 для уменьшения количества спама. Узнайте, как обрабатываются ваши данные комментариев.