URLRequestで取得した内容がキャッシュされないようにしたい - Action Script
URLRequestで取得した内容がキャッシュされてしまい、CGIやashxから動的にコンテンツを取得する場合に内容が変わらないといった現象が発生します。
この問題を解決するには、URLRequestクラスのuseCacheプロパティやcacheResponseプロパティが使えそうに見えますが、これらはAIR専用のプロパティのため利用できません。
そのため、URLの後ろに一意のIDをつけることで、キャッシュされることを防ぐことができます。
<pre class="brush:as3">
var idx:int=0;
var timerObj:Timer = new Timer(2500);
timerObj.addEventListener(TimerEvent.TIMER, onTimer);
timerObj.start();
function onTimer(eventObj: TimerEvent):void {
idx++;
textCnt.text=String(idx);
var key:String = "&key="+String(Math.random());
var url:String = "http://develop.ipentec.com/GetInfoImage.ashx?mode=content"+key;
var urlReq:URLRequest = new URLRequest(url);
var photoLoader:Loader = new Loader();
photoLoader.load(urlReq);
photoLoader.x=10;
photoLoader.y=10;
addChild(photoLoader);
photoLoader.unload();
}
</pre>
参照:cacheAsBitmap(基底DisplayObject.cacheAsBitmap)
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。