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

时间:2010-08-19 03:40:15

标签: flex flash actionscript-3 actionscript

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

  • SWF的特定实例是否可以检测到自己的URL?
  • 如果是,可以使用哪些ActionScript命令?

3 个答案:

答案 0 :(得分:6)

loaderInfo.loaderURL为您提供文档类中的SWF网址。

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

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

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

答案 1 :(得分:3)

简单:

检查IBrowserManager

答案 2 :(得分:1)

访问SWF URL并访问包含SWF的页面的URL是两个截然不同的事情。

Application.url会为您提供SWF网址。 Flex 4应用程序具有相同的属性。

无法保证获取加载HTML页面的URL,但您可以使用ExternalInterface在某些情况下执行此操作。 (@ Ben的答案就在那里)。

相关问题