Flex应用程序可以检测自己的URL吗?

Jos*_*hua 2 apache-flex flash actionscript actionscript-3

我有一个Flex应用程序(Web,而不是Air)用于大规模分发,可以像各种网站上的插件一样包含在内.

  • SWF的特定实例可以检测自己的URL吗?
  • 如果是这样,可能会使用哪些ActionScript命令?

Ben*_*Ben 6

loaderInfo.loaderURL为您提供文档类中的SWF URL.

您也可以这样做,但它依赖于嵌入代码中的allowScriptAccess:

if(ExternalInterface.available) // import flash.external.ExternalInterface;
{
 try
 {
  url = String(ExternalInterface.call("window.location.href.toString"));
 }
 catch(s:Error)
 {
  url = loaderInfo.loaderURL;
 }
}
Run Code Online (Sandbox Code Playgroud)

这将为您提供实际页面网址,如果它能够.根据我在Flash中广泛分布的游戏的经验,您不能真正依赖于设置allowScriptAccess来启用此方法.您的里程可能有所不同