2010-01-07 43 views
1

REF:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Loader.htmlSWF加載程序和Flex的的SWFLoader:孩子SWF的沙箱政策

至於父SWF加載子SWF文件通過Loader類,是可以防止加載的子SWF來源:

  • 使任何網絡電話,或
  • 到特定的域

基本上撥打電話,我正在尋找allowNetworki的程序版本NG:http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001079.html

的方法,另外,

  1. 是否有任何的Flash Player版本和ActionScript版本的差異?
  2. 如果使用Flex的SWFLoader,是否會有差異?

非常感謝,

傑夫

+0

你爲什麼要防止這種情況?你有特定的問題嗎?如果是這樣,如果有任何錯誤,你會得到什麼錯誤? – jml 2010-01-07 23:41:57

+0

這將是一種安全性,是內容提供商和內容發佈商之間合同的一部分。它已經通過allowNetworking參數實現了object/embed標籤 - 希望它也被掛載到Loader和SWFLoader中。 – 2010-01-08 00:06:52

回答

1

平原的答案是 「不,你不能」。這是因爲您無法隱藏或替換播放器的內置功能。理論上,您可以通過檢查SWF的DoABC塊並查找對URLLoader或navigateToURL等的調用來阻止很多此類調用。當然,不可能找到它們中的每一個,因爲這些可能是通過反思來調用的。此外,你必須寫一個反編譯器來做到這一點。

  1. ActionScript有很短的版本歷史,它只有1.0,2.0和3.0。 Flash Player不執行ActionScript。它執行字節碼(ABC-A ctionScript b yte c ode)。除了持續的維護外,ABC格式幾乎沒有變化。最重要的是反映在ABC格式規格。因此,例如,在Flash Player 10中,添加了一組操作碼(又名「鍊金術操作碼」),然而,它們不適用於編寫AS3的程序員。我使用這個http://www.anotherbigidea.com/javaswf/avm2/AVM2Instructions.html作爲快速參考,但它有點過時。

  2. SWFLoader是您在處理Flex框架時要使用的類。它基本上是Loader類,擴展來處理框架在內置插件之上引入的問題。

相關問題