加载外部Swf - 沙箱违规

时间:2010-05-05 09:05:14

标签: actionscript-3 air external

我需要帮助......紧急!我努力想出来......但我不能......所以我非常感谢你的帮助......

我正在使用flash开发Air App ...该应用程序通过xml动态加载外部SWF文件... SWF文件有一个带有监听器的动画片段(ON点击)

function mouseDownHandler(event:MouseEvent):void {
navigateToURL(new URLRequest(clickURL));

}

一切正常,直到我点击这个动画片段...它会显示以下消息

  

SecurityError:错误#2121:安全沙箱冲突:navigateToURL:   http://www.mydomainexample.com/maskot/avatar.swf无法访问YAHOO.COM   例。这可以通过调用Security.allowDomain来解决。

任何帮助!因为我真的有截止日期!

非常感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

实际上,由于我们讨论的是AIR,因此Security.allowDomain不起作用 搜索此链接可提供可能的答案:http://code.google.com/p/maashaack/wiki/ApplicationDomain

var context:LoaderContext = new LoaderContext( false, AD );
context.allowLoadBytesCodeExecution = true;
loader.loadBytes( urlloader.data, context );

答案 1 :(得分:1)

Securit.allowDomain与此无关,因为它仅用于指示可以从其他位置访问您的应用的SWF /应用程序。

您要做的是安全违规,并且没有直接的解决方法。但你可以尝试一些事情:

  1. vazor的想法
  2. 在主应用程序中编写代码,在加载外部swf后向您的按钮添加事件侦听器,然后从主应用程序中存在的处理程序调用navigateToURL。我尝试过这种方法,但它确实有效。如果需要,您还可以从外部swf加载实际的URL。
  3. 除非你的截止日期是4年以上,否则这个答案可能没有用......

答案 2 :(得分:0)

This may be worked around by calling Security.allowDomain.

阅读错误。