Flash、JavaScript、XML、KML、またはGoogleマップのキャッシュの問題を修正する

27736851秒

これは、キャッシュの問題に関する短くて甘い投稿です。 サイトとブラウザーは、リソースを本当に最適化するように構築されています。 彼らは時にはそれを非常にうまくやっているので、あなたが望むだけ頻繁に更新するのではなく、最終的に動的な Web サイトを実際に壊してしまいます。 今日私は一緒に働いていました JWプレイヤー、XMLファイルを介して映画のリストを取得するFlashMovieプレーヤー。

問題は、新しいウェビナーとトレーニング クラスで常にファイルを更新していることです。 クライアントが毎日ページにアクセスし続けると、キャッシュされたバージョンのプレイリストが読み込まれ、実際に最新の最高のプレイリストが表示されることはありません。

その結果、私はハックしなければなりませんでした 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 マップにもこの手法を使用しました。 ランダムなクエリ文字列を生成するだけで、システムはユーザーがアクセスするたびに (かなり静的な) KML ファイルをリロードします。 これはハックですが、キャッシュを本質的に有効にする簡単な方法です。 オフ オプションのないこれらのアプリケーションでは。

一つのコメント

  1. 1

どう思いますか?

このサイトはAkismetを使用して迷惑メールを減らします。 コメントの処理方法を学ぶ.