ここでは、純粋な AS3 を使用して Flex で使用される RSL システムを「シミュレート」する方法について簡単に説明します 。flex を使用せずに RSL をロードしますか?
しかし、署名付き RSL はどうでしょうか? その手法を使用して SWZ ファイルもロードできますか? それらはプレイヤーによってキャッシュされますか? 純粋な AS3 プロジェクトでプレーヤーによってキャッシュされた SWZ をどのように「再利用」できますか?
ありがとう!エンリケ。
ここでは、純粋な AS3 を使用して Flex で使用される RSL システムを「シミュレート」する方法について簡単に説明します 。flex を使用せずに RSL をロードしますか?
しかし、署名付き RSL はどうでしょうか? その手法を使用して SWZ ファイルもロードできますか? それらはプレイヤーによってキャッシュされますか? 純粋な AS3 プロジェクトでプレーヤーによってキャッシュされた SWZ をどのように「再利用」できますか?
ありがとう!エンリケ。
OK、これは解決策です(まだテストされていませんが、動作すると確信しています)
AdobeのAS3リファレンスからの例:
// URLRequest、ダイジェストプロパティ:
var myURLReq:URLRequest = new URLRequest();
myURLReq.url = "http://yourdomain/users/jdoe/test01/_rsc/Automated/AssetCaching_rsc/test01/rsl.swz";
myURLReq.digest = "3B0AA28C7A990385E044D80F5637FB036317BB41E044D80F5637FB036317BB41";
var myURLLoader:URLLoader = new URLLoader();
myURLLoader.dataFormat = URLLoaderDataFormat.BINARY;
myURLLoader.addEventListener("complete", onC);
myURLLoad.load(myURLReq);
function onC(e) {
var someLoader:Loader = new Loader();
addChild(someLoader);
someLoader.loadBytes((ByteArray)(myURLLoad.data));
}
したがって、他のSWFと同じように、署名されたRSL(.SWZ)をロードできます。ローダーではなくURLLoaderを使用し、ダイジェストプロパティを提供する必要があります。次に、Loaderを使用してURLLoaderからbyteArrayをロードします。署名されたSWZはプレーヤーによって内部的にチェックされ、アドビによって署名されていることが検出された場合、プレーヤーによってキャッシュされます。何もする必要はありません。Flash Playerは、SWZが既にプレーヤーによってキャッシュされているかどうかを、SWZをロードする前に自動的にチェックすると思います。
それが私が思うすべてです。
詳細を確認したい場合は、FlexCodersで私の返信を確認してください:http:
//tech.groups.yahoo.com/group/flexcoders/message/159010
署名された SWC (すなわち SWZ) は、ブラウザーのキャッシュではなく、Flash Player のキャッシュに読み込まれます。したがって、現時点ではアドビのみから提供されている、非常に信頼できるコードのみが許可されます。
プリロード用?私が知っている唯一の方法は実際には方法ではありませんが、Flex アプリの前に情報ページまたはログイン ページがあるとします。メイン アプリと同じ RSL を使用する軽量の SWF を含めることで、ユーザーが何かを読んでいるときに RSL をロードします。それはチートですが、帯域幅が最小で、アプリが最初にロードされたときに大金を稼ぎたいときに使用されることがわかりました.
プレーヤーの外部で他の方法でプリロードすると、セキュリティ上の問題が発生する可能性があります。