[英]signed RSL without Flex (pure AS3 project)
這里有一個簡短的解釋,說明如何使用純AS3來“模擬” Flex中使用的RSL系統: 不使用flex加載RSL?
但是簽名的RSL呢? 我們也可以使用該技術加載SWZ文件嗎? 玩家會緩存它們嗎? 如何在純AS3項目中“重用”播放器緩存的SWZ?
謝謝! 恩里克。
簽名的SWC(即SWZ)被加載到Flash Player緩存中,而不是瀏覽器緩存中。 因此,僅允許目前僅來自Adobe的超級受信任代碼。
要進行預加載嗎? 我所知道的唯一方法不是真正的方法,而是說您在Flex應用程序之前有一個信息頁面或登錄頁面,當用戶可能正在閱讀某些內容時,可以通過包含使用與主應用程序相同的RSL的輕量級SWF來加載RSL。 這是一個騙子,但看到它在帶寬最小時使用,並希望在應用程序首次加載時獲得實惠。
在播放器之外以其他任何方式預加載我可以看到的安全問題。
好的,這是解決方案(尚未測試,但我很確定它可以工作)
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,並提供摘要屬性。 然后,我們使用Loader從URLLoader加載byteArray。 簽名的SWZ由Player內部檢查,如果檢測到Adobe已簽名,則它將被Player緩存,我們無需執行任何操作。 我認為Flash Player會在加載任何SWZ之前自動檢查該SWZ是否已由播放器緩存。
這就是我想的。
如果您想查看更多詳細信息,請在FlexCoders中查看我的回復:
http://tech.groups.yahoo.com/group/flexcoders/message/159010
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.