SecurityError: Error #2148: SWF 文件 file:///F:/work2010/tiger/rmpublisher.air/bin-debug/index.swf 不能訪問本地資源 file:///F:/work2010/tiger/rmpublisher.air/bin-debug/plugins/plugins.xml。只有僅限於文件系統的 SWF 文件和可信的本地 SWF 文件可以訪問本地資源。
at flash.net::URLStream/load()
at flash.net::URLLoader/load()
at com.edlt.utils::Settings/loadSettings()[D:
解決方法:
第一種:
flex項目上點右鍵-->properties-->ActionscriptCompiler-->Additional compiler arguments
加上 “ -use-network=false ” 就OK了
swf就無法訪問網絡資源了,比如socket通訊之類的.
所以最好不要這樣用。
第二種:
在網上找了很多關於安全沙箱的文章,大多數都是如何解決網絡資源訪問的問題,和本文中想要的結果不同。雖然這些文章沒有解決本地資源訪問的問題。關於這種問題的解決方案應該是類似的,網絡的是在cross什麼的文件中增加信任的域名來允許訪問,那麼本地資源應該也能在某個地方加上本地資源路徑來允許訪問的。
具體如下: 找到windows安裝目錄下system32\Macromed\Flash\FlashPlayerTrust,在這個目錄下隨便建個文本文件,在文件裏輸入需要訪問本地資源flash的詳細路徑,保存。執行swf,不再出錯了。OK
如:在C:\WINDOWS\system32\Macromed\Flash\FlashPlayerTrust目錄下添加一個文件,比如:1.txt(文件名可任意起),文件內容爲:“D:\demo\test\”即項目的路徑,當然也可以設置爲“D:\”