2009-10-19 20 views
0

我认为这个问题可能是由于一些奇怪的路径问题;然而,在这种情况下,路径不是相对的。未在服务器上触发Flash事件

我有一个基于AS3的rss聚合器。当我测试影片剪辑时它在闪光灯下工作;然而,当我把它放在服务器上它不再工作...

我用“taLog.htmlText =”开始“;”和类似的字符串来测试它停止的地方。我假设rssLoaded事件不会被调用,这意味着是没有得到加载的饲料,这是奇怪的,因为它工作正常,别的地方....

var rssLoader:URLLoader = new URLLoader(); 
var rssURL:URLRequest = new URLRequest("http://www.rssfeedblahblah.com"); 
rssLoader.addEventListener(Event.COMPLETE, rssLoaded); 
rssLoader.load(rssURL); 
taLog.htmlText = "Start"; 
var rssXML:XML = new XML(); 
rssXML.ignoreWhitespace = true; 

function rssLoaded(evt:Event):void{ 
taLog.htmlText = "Loaded"; 
rssXML=XML(rssLoader.data); 
taLog.htmlText = rssXML; 

for(var item:String in rssXML.channel.item) { 
    liLog.addItem({label:rssXML.channel.item[item].title}) 
} 
} 

function selectLog(evt:Event):void { 
taLog.htmlText = rssXML.channel.item[ evt.target.selectedIndex ].description; 
} 

liLog.addEventListener(Event.CHANGE, selectLog); 

回答

0

你确定这不是securityError?在urlloader上监听io错误和安全错误,看看它们是否被解雇。除了替换日志文本(与=),请考虑附加(与+=)以确保日志消息不被覆盖(请确保taLog是多行)。

rssLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); 
rssLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 
function securityErrorHandler(e:SecurityErrorEvent):void 
{ 
    taLog.htmlText += "<br/>security error"; 
} 
function ioErrorHandler(e:IOErrorEvent):void 
{ 
    taLog.htmlText += "<br/>io error"; 
} 
+0

这是一个安全问题。我有一种感觉,那就是发生了什么事。我不知道如何测试它。谢谢您的帮助 :)! – Parris 2009-10-22 18:26:43

+0

尝试在您的浏览器中安装调试闪存播放器...它会告诉你所有这些错误。另外,rssXML.ignoreWhitespace = true;是错误的,ignoreWhitespace是XML类的一个静态属性,它不能为每个XML单独设置......虽然默认值为true;) – Cay 2009-10-23 06:41:06

相关问题