我是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
但它不起作用。
答案 0 :(得分:0)
首先,UIComponent class是Flex中使用的所有可视组件的基类(如Label
,Progressbar
,...),但我认为您使用的是Flash ,所以这不是好方法。
我真的不知道你为什么要在浏览器中同时打开许多网址(而且我认为你的最终用户可能不喜欢这样),但你必须在每个网址之间使用一些间隔navigateToURL()
使用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();
希望可以提供帮助。