Actionscript 3 - не может открыть несколько экземпляров navigateToURL() одновременно
Я новичок в AS3, я хочу открыть несколько вкладок браузера с Flash.
Я пытаюсь просто запустить несколько экземпляров navigateToURL().
for each (var str:String in arrayofrequests)
{
[...]
try { navigateToURL(request, "_blank");}
[...]
}
но только последний экземпляр navigateToURL выполняется в браузере. Я искал в Интернете, и кто-то указал, что callLater может решить эту проблему. Но каждый раз, когда я пытаюсь использовать callLater, я получаю
Error: Call to a possibly undefined method callLater.
Я проанализировал документацию Adobe здесь: http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7b06.html
Все объекты, которые наследуются от класса UIComponent, могут открывать метод callLater().
Как мне это сделать? Я пытался изменить свой код на что-то вроде этого
public class Main extends UIComponent
но это не работает.
1 ответ
Для начала класс UIComponent является базовым классом для всех визуальных компонентов, используемых в Flex (например, Label
, Progressbar
,...), но я думаю, что вы используете Flash, так что это не очень хороший способ.
На самом деле я не знаю, почему вы хотите открыть много URL в браузере одновременно (и я думаю, что ваш конечный пользователь, возможно, не понравится), но вы должны использовать некоторые интервалы между каждым navigateToURL()
звонки с использованием Timer
объект например:
var urls:Array = [
'http://www.wikipedia.org',
'http://www.ubuntu.com',
'http://www.stackru.com'
];
var timer:Timer = new Timer(300, urls.length);
timer.addEventListener(TimerEvent.TIMER, onTimer);
function onTimer(e:TimerEvent):void {
navigateToURL(new URLRequest(urls[timer.currentCount - 1]), '_blank');
}
timer.start();
Надеюсь, что это может помочь.