我的Flash(AS3/AIR)應用程序當前正在使用稍微不尋常的體系結構(對於Flash應用程序)在運行時爲加載的內容提供特定的基類。外部內容與「存根」基類一起發佈,它們在加載時由運行時的「真實」基類黯然失色。我聽說這個由Adobe引用的bootstrapping(pdf),它一直在我工作得很好,直到現在。這與我相信的DLL架構不同,儘管我沒有資格肯定地說。「引導」遠程swf到應用程序SecurityDomain(actionscript3)
到目前爲止,我一直在加載的外部內容已經從相同的SecurityDomain
(相同的沙箱)中加載,這使我可以輕鬆地加載兒童內容ApplicationDomain
。不幸的是,據我所知,一個ApplicationDomain
s跨越SecurityDomain
s是不能相關的 - 也就是說,我不能將一個SecurityDom的AppDom作爲來自另一個SecurityDom的AppDom的孩子。
但現在我需要從我的應用程序沙箱外加載這個外部內容。有很多方法可以在SecurityDomain
之間實現溝通 - 儘管其中大多數都非常有限,但AIR的sandboxBridge
API可能是最強大的。不幸的是,這些通信方法都不允許我實現這種引導架構。
我注意到LoaderContext
對象有一個securityDomain
屬性,但Flash安全性禁止'本地swfs'觸及它(它會拋出一個SecurityError
或類似的東西)。
Flex的SWFLoader
有trustContent
屬性,看起來很有希望,但我傾向於認爲它具有相同的限制在設定SecurityDomain
的Loader
的LoaderContext
。
我懷疑我不得不重新設計(這並不容易),但我想我只是在這裏檢查一下,我沒有在我的研究中遺漏任何東西。
那麼...任何想法或智慧的珍珠?如果有人從安全模型的Adobe工作,可以給我一個明確的「是/否,它可以/不可以完成」,我特別想知道如何愛它...
在此先感謝!
附錄:我已經決定重新設計架構,以便引導都發生在外部域。然而,出於好奇,我的問題依然存在。
你最終使用了什麼方法? :)我發佈了一個有點相關的q這裏stackoverflow。com/questions/1020397/...,很想得到它的反饋/因爲它似乎你一直在與第三方外部瑞士法郎:) – eglasius 2009-06-20 00:59:37
弗雷迪,我想知道我的問題是否有點過時了,因爲我寫時FP10處於測試階段。 – aaaidan 2010-08-11 02:39:02