是否可以通过file://从Flash Builder调试外部接口



我有一个使用Adobe Flash Builder 4.5在ActionScript 3中编写的项目。它在ExternalInterface中注册了多个功能,因此可以从JavaScript调用它们。

如果我在服务器上访问Flash文档,例如http://localhost/,我可以成功调用定义功能。如果我只是直接打开浏览器中的文件(通过file:///协议),则会失败,而这样的错误:

*** Security Sandbox Violation ***
SecurityDomain 'null' tried to access incompatible context 'file:///Users/foo/src/bar/baz/bin-debug/app.swf'

合理的安全性限制,但它具有矛盾的后果:我无法调试ExternalInterface的使用,因为Flash Builder调试器通过file:打开文档。

似乎太荒谬了,无法正常调试这样的重要功能。

如何将调试器与ExternalInterface

一起使用

有两种解决此问题的方法:

  • 通过设置use-network=false编译器标志(请参阅:http://help.adobe.com/en_us/flex/flex/ruse/ws2db454920e96a9e96a9e51e63e3e3e3e3e3e3d11c0bf69084-7a92.html ctrl ctrl ctrl ctrl ctrl ctrl ctrl ctrl ctrl ctrl ctrl ctrl ctrl-network)
  • 在调试时,配置Flash Builder调试器以启动HTTP URL。为此,单击:运行 ->调试配置,然后在"启动的URL或路径"下,输入(Say)" http://localhost/"

我通常更喜欢后者。

最新更新