[AS]XMLを更新したのにswfに反映されない場合(キャッシュ対策)
Xmlを読み込む際には、URLにユニークな変数を追加して、かならず再読み込みをさせたほうがいいみたい。
基本のURLのままだと、変更しても再読み込みの際、キャッシュから読んで新たに読み込んでくれない。
URL(String)にユニークな変数を追加する関数
import flash.net.LocalConnection; //基本のURL var xml_str:String = "http://hoge.com/hoge.xml"; //基本のURLにユニークな変数を追加 xml_str = setNoCashURL(xml_str); private function setNoCashURL(url_str):String { //サーバーにあがってるか同かを調べるため var lc:LocalConnection = new LocalConnection(); //現在のドメイン名を取得 var domain_str:String = lc.domain; //ドメイン名がlocalhostの時はローカルでのテストなので変数はつけない。 //(変数がついてるとローカルではxmlが読みこまれないみたい) if (domain_str != "localhost") { //現在時刻を取得することでユニークな数値を取得 var noCash:Number = new Date().getTime(); //URLに追加できる形にして数値を文字列化 var noCash_str:String = "?nocash="+String(noCash); } else { noCash_str = ""; } url_str += noCash_str; //変数を追加した文字列を返す return url_str; }
Tweet