Может ли приложение Flex определять свой собственный URL? - PullRequest
2 голосов
/ 19 августа 2010

У меня есть приложение Flex (Web, а не Air), предназначенное для массового распространения, которое должно быть включено в качестве плагина на различных веб-сайтах.

  • Может ли конкретный экземпляр SWF обнаруживать свой собственныйURL?
  • Если да, то какие команды ActionScript могут использоваться?

Ответы [ 3 ]

6 голосов
/ 19 августа 2010

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

Это даст вамфактический URL страницы, если это возможно.По моему опыту с широко распространенными играми во Flash вы не можете полагаться на то, что allowScriptAccess настроен для включения этого метода.Ваши мили могут отличаться.

3 голосов
/ 19 августа 2010

Simple:

Проверка IBrowserManager

1 голос
/ 19 августа 2010

Доступ к URL-адресу SWF и доступ к URL-адресу страницы, содержащей SWF, - это две совершенно разные вещи.

Application.url предоставит вам URL SWFs. Приложение Flex 4 обладает тем же свойством.

Не существует гарантированного способа получить URL-адрес загружаемой HTML-страницы, но вы можете использовать ExternalInterface для этого в некоторых ситуациях. (Ответ @ Бена на месте).

...