Руководство по actionscript. часть 6, стр. 021
В листинге 28.8 представлена окончательная версия класса SunsetViewer, дополненная кодом для обработки ошибок загрузки. Новый код выделен полужирным шрифтом.
Листинг 28.8. Окончательная версия класса SunsetViewer, с обработкой ошибок загрузки
package { import flash. display.*: import flash. net. URLRequest; import flash. events.* import flash. text.*;
public class SunsetViewer extends Sprite { private var loadenLoader; private var progressOutput:TextField;
public function SunsetViewer ( ) { createLoader( ); createProgressIndicator( ); load(new URLRequest(«sunset. jpg»));
}
private function createLoader ( ):void { loader = new Loader( );
1oader. contentLoaderlnfо. addEventLi stener(ProgressEvent. PROGRESS,
progressListener);
1oader. contentLoaderlnfо. addEventLi stener(Event. COMPLETE,
completeListener);
1oader. contentLoaderlnfo. addEventListener(Event. INIT,
initListener);
1oader. contentLoaderlnfо. addEventLi stener(IOErrorEvent. I0 ERR0R,
ioErrorListener);
}
private function createProgressIndicator ( ):void { progressOutput = new TextField( ); progressOutput. autoSi ze = TextFi eldAutoSi ze. LEFT; progressOutput. border = true; progressOutput. background = true; progressOutput. selectable = false;
progressOutput. text = «LOADING…»;
}
private function load (urlRequest:URLRequest):void { loader. load(urlRequest); if (lcontains(progressOutput)) { addChild(progressOutput);
}
}
private function progressListener (e:ProgressEvent):void { progressOutput. text = «LOADING: «
+ Math. floor(e. bytesLoaded / 1024)
+ 7″ + Math, fl oor (e. bytesTotal / 1024) + » KB»;
}
private function initListener (e:Event):void { addChi1d(1oader. content);
}
private function completeListener (e:Event):void { removeChild(progressOutput);
}
// Приемник вызывается при возникновении ошибки загрузки private function ioErrorListener. (е:IOErrorEvent):void { progressOutput. text = «LOAD ERROR»;
}
}
}
Аспекты поведения при ошибках загрузки, зависящие от среды
При осуществлении операций загрузки среда выполнения Flash полагается на свою локальную среду (то есть на операционную систему или приложение, в котором запускается среда выполнения Flash, — зачастую таким приложением является браузер). Как результат, некоторые аспекты поведения Flash, связанного с загрузкой данных, зависят от среды. Среда выполнения по мере возможности пытается оградить программиста от подобных аспектов поведения. Тем не менее в приложении Flash Player 9 существуют два аспекта поведения, которые представлены в табл. 28.1, — они являются уникальными для приложения Internet Explorer в операционной системе Windows и требуют особого внимания программиста.