PDA

Просмотр полной версии : Проблемы с правильной загрузкой xml


btx
08.08.2007, 11:23
День добрый.
Задача: загрузить в определенный мувиклип SWF файл и XML (генерируемый PHP при каждом запросе) используя при этом один прелоадер. После чего в загруженный SWF посылается объект XML.
Проблема: При загрузке часто получается, так что SWF загружается всегда, а XML как повезет.
Вопрос: Как избавиться от ситуаций отсутствия правильной загрузки XML?
Кусок кода:


// host - начальный адрес к серверу генерации XML данных
// mn - один из параметров для генерации данных
// lo - булево значение обозначающее конец загрузки

function onLoadNewPage(mn, lo) {
if(lo != true) {
_global.my_xmlGlob = new XML();
_global.my_xmlGlob.ignoreWhite = true;
_global.my_xmlGlob.load(host+"xml.php?t="+mn+"&m="+random(99999));
_root.dveri_root.mov_mov.createEmptyMovieClip(prActive, _root.dveri_root.mov_mov.getNextHighestDepth());
_root.dveri_root.mov_mov[mn].loadMovie("page/"+mn+".swf");
intervalID = setInterval(onLoadProgressPage, 12, mn, my_xmlGlob, _root.dveri_root.mov_mov[mn]);
} else {
if (my_xmlGlob.status == 0) {
clearInterval(intervalID);
_global.prMove[mn] = true;
// Анимация после загрузки страницы в главном мувиклипе
onLoadEndPage();
_root.dveri_root.mov_mov[mn].host = host;
_root.dveri_root.mov_mov[mn].my_xml = my_xmlGlob;
_root.dveri_root.mov_mov[mn].onLoadAll();
} else {
_global.my_xmlGlob.load(host+"xml.php?t="+mn+"&m="+random(99999));
}
}
}

function onLoadProgressPage(mn, xmlObj, swfMov) {
var xmlGBL = xmlObj.getBytesLoaded();
var xmlGBT = xmlObj.getBytesTotal();
var swfGBL = swfMov.getBytesLoaded();
var swfGBT = swfMov.getBytesTotal();
if((xmlGBT >= 0) && (swfGBT >= 0)) {
var pc:Number = int((xmlGBL+swfGBL)/(xmlGBT+swfGBT)*100);
_root.dveri_root.load_mov.load_proc.text = pc+"%";
_root.dveri_root.load_mov.gotoAndStop(pc);
if(pc == 100) {
onLoadNewPage(mn, true);
}
}
}