为什么当SWF在网络服务器上时以及在尝试加载无效网址时,load
类的URLStream
方法会调度Event.OPEN
而不是IOErrorEvent.IO_ERROR
?< / p>
在本地运行SWF时同样不适用。
示例代码:
var CLS_UrlStream:URLStream = new URLStream(); // Initialize URLStream class instance.
CLS_UrlStream.addEventListener(Event.OPEN, FUN_StreamHandler); // Listen for successful connections.
CLS_UrlStream.addEventListener(IOErrorEvent.IO_ERROR, FUN_StreamHandler); // Listen for conenction errors.
CLS_UrlStream.load(new URLRequest("InvalidURL")); // Load file.
private function FUN_StreamHandler(FUN_PAR_Event:Event):void {
trace("EVENT TYPE: " + FUN_PAR_Event.type);
}
// Outputs: EVENT TYPE: open
答案 0 :(得分:0)
Event.OPEN在加载时被触发。所以永远都会被召唤。
你可能想要HTTPStatusEvent.HTTP_STATUS
答案 1 :(得分:0)
当SWF在服务器上运行并且请求不存在的资源时,服务器实际发送一条错误消息,该消息计为数据,因此没有错误事件。同样不适用于本地,因为在发出不存在文件的请求时,没有Web服务器响应错误。通过使用Monster Debugger实时跟踪发现了这一点。