Преамбула:
Возникла необходимость последовательно открывать в браузере несколько ссылок на ресурсы.
Проблема:
При последовательном или в цикле вызове функции navigateToURL отрабатывает всего лишь один вызов.
Решение:
Возникла необходимость последовательно открывать в браузере несколько ссылок на ресурсы.
Проблема:
При последовательном или в цикле вызове функции navigateToURL отрабатывает всего лишь один вызов.
Решение:
- Приложение работает в standalone flashplayer-е или в среде flash-плагина браузера:
const URLS:Array = ["http://ya.ru", "http://r0.ru"]; stage.addEventListener(Event.ENTER_FRAME, function (e:Event):void { navigateToURL(new URLRequest(URLS.shift()), "_blank"); if (URLS.length == 0) { e.target.removeEventListener(e.type, arguments.callee); } });
Прим.: В качестве источника события Event.ENTER_FRAME можно использовать любой экземпляр класса Sprite или его наследников в независимости добавлен ли этот экземпляр в список отображения или нет.
- Приложение работает в среде flash-плагина браузера, доступен и разрешен вызов javascript-методов, то можно обойтись без подписки на событие Event.ENTER_FRAME:
const URLS:Array = ["http://ya.ru", "http://r0.ru"]; if (ExternalInterface.available) { for each (var url:String in URLS) { ExternalInterface.call("window.open", url); } }