Actionscript 3 是否可以通过Flash Builder中的文件://调试外部接口?
我有一个使用AdobeFlashBuilder4.5用ActionScript3编写的项目。它在Actionscript 3 是否可以通过Flash Builder中的文件://调试外部接口?,actionscript-3,flash,externalinterface,Actionscript 3,Flash,Externalinterface,我有一个使用AdobeFlashBuilder4.5用ActionScript3编写的项目。它在外部接口中注册几个函数,以便可以从JavaScript调用它们 如果我在服务器上访问Flash文档,例如http://localhost/,我能够成功调用已定义的函数。如果我直接在浏览器中打开文件(通过文件://协议),它将失败,并出现如下错误: *** Security Sandbox Violation *** SecurityDomain 'null' tried to access incom
外部接口
中注册几个函数,以便可以从JavaScript调用它们
如果我在服务器上访问Flash文档,例如http://localhost/
,我能够成功调用已定义的函数。如果我直接在浏览器中打开文件(通过文件://
协议),它将失败,并出现如下错误:
*** Security Sandbox Violation ***
SecurityDomain 'null' tried to access incompatible context 'file:///Users/foo/src/bar/baz/bin-debug/app.swf'
一个合理的安全限制,但它有一个矛盾的结果:我无法调试ExternalInterface
的使用,因为Flash Builder调试器通过文件打开文档:
如此重要的特性无法正常调试,这似乎太荒谬了
如何将调试器与
外部接口一起使用?有两种方法可以解决此问题:
- 通过设置
use network=false
编译器标志(请参阅:ctrl-f use network)
- 配置Flash Builder调试器以在调试时启动HTTP URL。为此,请单击:运行->调试配置,然后在“URL或启动路径”下输入(比如)http://localhost/"
我一般喜欢后者