如何调试与localhost通信的SWF文件

时间:2009-09-02 02:40:44

标签: flash actionscript-3

我正在尝试在CS4中调试ActionScript。正如您在下面看到的,该脚本正在向我从我的机器托管的URL发出GET请求。当我尝试调试电影时,我收到一个消息框,上面写着:

Adob​​e Flash Player已停止可能不安全的操作。 您在计算机上运行的本地应用程序: “C:\ myapplication.swf” 正试图与这个启用互联网的位置进行通信:

本地主机

要让此应用程序与互联网通信,请单击“设置”。

所以我点击设置,在浏览器中打开的全局安全面板上,选择“始终允许”,关闭我的Flash电影,然后重试。同样的错误。

有人有这个问题吗?

var requestVars:URLVariables = new URLVariables();
requestVars.ornTest = "test";
var request:URLRequest = new URLRequest();
request.url = "http://localhost/apps/game/tree/DesignFlash.aspx";
request.method = URLRequestMethod.GET;
request.data = requestVars;

var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
loader.addEventListener(HTTPStatusEvent.HTTP_STATU S, httpStatusHandler);
loader.addEventListener(SecurityErrorEvent.SECURIT Y_ERROR, securityErrorHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

try
{
  loader.load(request);
}
catch (error:Error)
{
  trace("Unable to load URL");
}

private function loaderCompleteHandler(event:Event):void
{
  var variables:URLVariables = new URLVariables( event.target.data );
  if(variables.success)
  {
  var ornArray = deserializeString(variables.ornData);
  for(var i:int=0;i<ornArray.length;i+=3)
  {
    addOrnamentProperty(ornArray[i],ornArray[i+1],ornArray[i+2]);
  }
      addOrnamentsFromArrayList();
  }
}

1 个答案:

答案 0 :(得分:1)

您需要将该文件夹添加到允许的文件夹列表中。

关注此网址:
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

从显示“编辑位置...”的下拉菜单中选择“添加位置...”,然后浏览到正确的目录(包含SWF文件的目录)并添加该目录。如果您的HTML文件与SWF文件位于不同的目录中,那么我永远无法回想起要添加的文件,因此我会将它们添加到这两个文件中。

您可以做的另一件事是通过在您自己的计算机上运行的HTTP服务器运行您的项目。这可能会涉及更多(例如,您必须运行HTTP服务器,然后将HTML和SWF发布到目录)。添加文件夹是最简单直接的方法,但如果您使用本地服务器,那么您将没有任何限制。