內容營銷
修復Flash,JavaScript,XML,KML或Google Maps的緩存問題
這是有關緩存問題的簡短而甜蜜的帖子。 網站和瀏覽器的構建是為了真正優化資源。 他們有時做得很好,最終結果實際上破壞了您的動態網站,而不是您想要的頻繁更新。 今天我在和 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文件。 這是一個hack,但實際上是一種輕鬆進行緩存的簡單方法 off 在這些沒有選項的應用程序中。