月別アーカイブ: 2009年6月

[AS2]FlashでSWFや画像などを外部から読み込む際にキャッシュさせない

FlashコンテンツでSWFや画像データを外部から読み込む際に、ブラウザでキャッシュさせない方法をメモ。頻繁に更新する必要のあるFlashコンテンツでは、更新した内容が反映されない可能性あるので、キャッシュ対策が必要。

具体的には、読み込みたいデータのパスに「?=現時刻」をプラスしてあげて、常に別のデータとして読み込ませる。例えば、CASA FrameworkのMediaLoadを使用して、test.jpgを外部から読み込む場合のキャッシュ対策はこんな感じ(ほぼCASAのサンプルそのままです)。

this.stop();
Stage.align = "TL"; 
Stage.scaleMode = "noScale";

import org.casaframework.load.media.MediaLoad;

this.createEmptyMovieClip("loadZone_mc", this.getNextHighestDepth());

function onImageLoadProgress(sender:MediaLoad, bytesLoaded:Number, bytesTotal:Number):Void {
    trace(bytesLoaded + "/" + bytesTotal + " bytes have been loaded into " + sender.getMovieClip());
}

var nowDate:Date = new Date();//現時刻を取得してnowDateに設定
var mediaLoad:MediaLoad = new MediaLoad(this.loadZone_mc, "test.jpg" + "?=" + nowDate);
this.mediaLoad.addEventObserver(this, MediaLoad.EVENT_LOAD_PROGRESS, "onImageLoadProgress");
this.mediaLoad.start();

現時刻の部分は、ユニークな値であれば問題ないと思うので、乱数など他の値でもでも問題ないと思われます。ちなみに画像データだけでなく、swfやxmlなどでも同じ方法でキャッシュ対策可能。

【参考にさせて頂いたサイト】

企業サイトの横幅ピクセル数のまとめ

最近のサイトの横幅ピクセルってどの程度が多いのか気になったので、「日経パソコン 企業サイトランキング 2008」の上位50位ぐらいまでをピックアップしてまとめてみたのでメモ。ソースを詳しく調べたわけではないので、若干の誤差があるかもしれないです。あくまで参考程度に。

企業名 サイト全体の横幅(px)
富士通 750
NEC 760
日本郵政 768
出光興産 750
京セラ 760
第一三共 760
京王電鉄 800
OKI(沖電気工業) 882
新日鉱ホールディングス 828
DIC 840
キリンホールディングス 900
サッポロビール 780
ニコン 757
YKK 762
三井化学 880
明治乳業 950
NECエレクトロニクス 960
東北電力 760
富士ゼロックス 845
みずほフィナンシャルグループ 750
ヤマハ発動機 748
T&Dホールディングス 750
キリンビール 900
NTTデータ 856
大阪ガス 850
カシオ計算機 802
コニカミノルタホールディングス 970
三菱ガス化学 760
コカ・コーラウエストホールディングス 950
ローソン 750
松下電器産業 991
旭硝子 765
昭和シェル石油 940(リキッド)
豊田通商 735
富士フイルム 970
三菱商事 980
キユーピー 924
キリンビバレッジ 900
大和ハウス工業 950
豊田自動織機 775
日清食品 910
日本板硝子 765
日本ユニシス 760
東芝 760
日本ヒューレット・パッカード 968
富士フイルムホールディングス 970
ブリヂストン 870
リコー 759
NTTドコモ 911
九州電力 770
日本製紙グループ本社 840
三井物産 770
リクルート 720