Actionscript 3 - невозможно открыть несколько экземпляров navigationToURL() одновременно

Я новичок в AS3, я хочу открывать несколько вкладок браузера с помощью flash.

Я пытаюсь просто запустить несколько экземпляров navigationToURL().

for each (var str:String in arrayofrequests) 
{
[...]
    try { navigateToURL(request, "_blank");}
[...]
}

но в браузере выполняется только последний экземпляр navigationToURL. Я искал в Интернете, и кто-то указал, что 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

но это не работает.


person RIcapitolo    schedule 30.03.2015    source источник


Ответы (1)


Для начала класс UIComponent является базовый класс для всех визуальных компонентов, используемых в Flex (например, Label, Progressbar , ...), но я думаю, что вы используете Flash, так что это не лучший способ.

На самом деле я не знаю, почему вы хотите открывать много URL-адресов в браузере одновременно (и я думаю, что вашему конечному пользователю это может не понравиться), но вы должны использовать некоторые интервалы между каждым вызовом navigateToURL(), используя < объект href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Timer.html" rel="nofollow">Timer, например:

var urls:Array = [
    'http://www.wikipedia.org',
    'http://www.ubuntu.com',
    'http://www.stackoverflow.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();

Надеюсь, что это может помочь.

person akmozo    schedule 30.03.2015