2010-08-19 41 views
2

我有一个Flex应用程序(网站,而不是空气)的意思是大规模分发,将被包括在各种网站插件。Flex应用程序能检测它自己的URL吗?

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

回答

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; 
} 
} 

这会给你的实际网页的网址,如果它能够。根据我在Flash中广泛分布的游戏的经验,你不能真正依赖allowScriptAccess被设置为启用此方法。你的里程可能有所不同

1

访问SWF URL并访问包含SWF的页面的URL是两件非常不同的事情。

Application.url会给你SWFs的URL。 Flex 4应用程序具有相同的属性。

有没有保证的方式来获取加载HTML页面的URL,但您可以使用ExternalInterface在某些情况下这样做。 (@本的回答是在那里)。

相关问题