как переопределить параметр базового пути внутри приложения flex

Мне трудно решить проблемы с абсолютным/относительным путем.

При использовании as3 и встраивании моего swf через объект swf JS одним из параметров, передаваемых функции встраивания JS, является "base=http://www.mydomain.com", который необходим для загрузки внешнего виджета в приложение.

Теперь я также загружаю внешние ресурсы, такие как Styles.swf, которые размещены локально на стороне клиента, и когда я пытаюсь загрузить эти ресурсы, я получаю сообщение об ошибке, что они не найдены в http://www.mydomain..com/.

Например:

StyleManager.loadStyleDeclarations("Styles.swf");

Ошибка:

can't load http://www.mydomain.com/Styles.swf

Можно ли как-то загрузить Styles.swf как локальные активы??? я пробовал использовать

StyleManager.loadStyleDeclarations("../Styles.swf");
StyleManager.loadStyleDeclarations("./Styles.swf");
StyleManager.loadStyleDeclarations("/Styles.swf");

Но ни один из них не работает...

Спасибо


person xhuur    schedule 19.01.2010    source источник


Ответы (1)


Если база http://www.mydomain.com, я думаю, вы застряли с этим (поэтому относительные URL-адреса относятся к этому местоположению).

Вы можете получить текущий URL-адрес SWF через Application.url для прямого разрешения вашего URL-адреса (также см. ссылки на ExternalInterface и BrowserManager в этом ТАК вопрос).

person Michael Brewer-Davis    schedule 19.01.2010
comment
Application.url вернет URL-адрес, из которого приложение было загружено, я не думаю, что это связано с проблемой или с внешним интерфейсом. Должен быть способ получить этот базовый параметр внутри FLEX, просто пока не могу его найти... - person xhuur; 20.01.2010