初学Flex就碰到安全沙箱问题:
*** 安全沙箱冲突 ***
到 data/maps/demo1.xml 的连接已停止 - 不允许从 file:///D:/FlexWorkspace/MapDemo/bin-debug/MapDemo.swf 进行连接
[color=red]
SecurityError: Error #2148: SWF 文件 file:///D:/FlexWorkspace/MapDemo/bin-debug/MapDemo.swf 不能访问本地资源 data/maps/demo1.xml。只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。
at flash.net::URLStream/load()
at flash.net::URLLoader/load()
at flash.net::URLLoader()
at MapDemo/createHandler()[D:\FlexWorkspace\MapDemo\src\MapDemo.mxml:21]
at MapDemo/___MapDemo_Application1_creationComplete()[D:\FlexWorkspace\MapDemo\src\MapDemo.mxml:4]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:9308]
at mx.core::UIComponent/set initialized()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:1169]
at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8633]
at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8573]
[/color]
flex项目上点右键-->properties-->ActionscriptCompiler-->Additional compiler arguments
加上 “ -use-network=false ” 就OK了
swf就无法访问网络资源了,比如socket通讯之类的.
暂时就这样用下,以后有更好的方法再更新
*** 安全沙箱冲突 ***
到 data/maps/demo1.xml 的连接已停止 - 不允许从 file:///D:/FlexWorkspace/MapDemo/bin-debug/MapDemo.swf 进行连接
[color=red]
SecurityError: Error #2148: SWF 文件 file:///D:/FlexWorkspace/MapDemo/bin-debug/MapDemo.swf 不能访问本地资源 data/maps/demo1.xml。只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。
at flash.net::URLStream/load()
at flash.net::URLLoader/load()
at flash.net::URLLoader()
at MapDemo/createHandler()[D:\FlexWorkspace\MapDemo\src\MapDemo.mxml:21]
at MapDemo/___MapDemo_Application1_creationComplete()[D:\FlexWorkspace\MapDemo\src\MapDemo.mxml:4]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:9308]
at mx.core::UIComponent/set initialized()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:1169]
at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8633]
at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8573]
[/color]
flex项目上点右键-->properties-->ActionscriptCompiler-->Additional compiler arguments
加上 “ -use-network=false ” 就OK了
swf就无法访问网络资源了,比如socket通讯之类的.
暂时就这样用下,以后有更好的方法再更新
本文介绍了在使用Flex开发过程中遇到的安全沙箱问题及其解决方案。通过在项目设置中添加特定参数,可以避免SWF文件访问本地资源时的安全错误。
4183

被折叠的 条评论
为什么被折叠?



