Вирішіть проблеми з кешуванням за допомогою Flash, JavaScript, XML, KML або Google Maps

Depositphotos 27736851 с

Це короткий та солодкий пост з питань кешування. Сайти та браузери створені для справжньої оптимізації ресурсів. Іноді вони роблять це так добре, що кінцевий результат насправді ламає ваш динамічний веб-сайт, замість того, щоб оновлювати його так часто, як вам заманеться. Сьогодні я працював з Гравець JW, програвач 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 для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.