修復Flash,JavaScript,XML,KML或Google Maps的緩存問題

Depositphotos 27736851年代

這是一篇關於緩存問題的簡短而甜蜜的帖子。 網站和瀏覽器旨在真正優化資源。 他們有時做得很好,最終結果實際上破壞了您的動態網站,而不是像您希望的那樣經常更新它。 今天我和 JW播放器,一種Flash電影播放器,可通過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 很方便,在處理動態變化的 KML 文件時,我還在 Google Maps 中使用了這種技術。 只需生成一個隨機查詢字符串,系統就會在用戶每次訪問時重新加載(相當靜態的)KML 文件。 這是一個黑客,但它是一種從本質上轉變緩存的簡單方法 off 在這些沒有選項的應用程序中。

一個評論

  1. 1

你覺得呢?

本網站使用Akismet來減少垃圾郵件。 了解您的評論如何處理.