PDA

Volledige versie bekijken : XML die online niet inlaad


BatteauProductions
%Europe/Berlin %489 %2009, 11:45
Ik bezig met mijn portfolio en daarop wil ik mijn content via xml inladen zodat ik niet steeds mijn flash hoef te openen.

Alleen nu kwam ik er laatst achter dan de xml online niet inlaad om een of andere wazige reden...

hierop staat mijn site Portfolio (http://www.mediavormgever.net/~Kamps10049/)

dit is de code waarmee ik de XML inlaad

// XML object instellen voor de Web & Games
var web_xml:XML = new XML()
web_xml.ignoreWhite =true;
web_xml.load("../xml/web.xml");
//array voor de nodes
var childItemsWeb:Array = new Array();
web_xml.onLoad = function(succes:Boolean):Void {
if(succes) {
childItemsWeb = web_xml.firstChild.childNodes;
trace ("Succes! Web");
}else{
trace("Failure! Web");
}
}

en hiermee vul ik de content

//FUNCTIONS//
//init content
function initcontent () {
this.createEmptyMovieClip("buttons_mc", this.getNextHighestDepth());
buttons_mc.setMask(mask_mc);
buttons_mc._x = 155.8;
buttons_mc._y = 451.9;
for (var i:Number = 0; i < randomArray.length; i++) {
newName = "product"+i;
var productKnop:MovieClip = this.buttons_mc.attachMovie("clip_mc", newName, this.buttons_mc.getNextHighestDepth());
productKnop.placeholder_mc.loadMovie(randomArray[i].attributes.imgk, "placeholder_mc");
productKnop._x = (productKnop._width+10)*i;//sets different x position
productKnop._alpha = 40;//setting alpha
productKnop.key = i;//giving unique key
productKnop.onRelease = function () {
trace (this.key);
}
productKnop.onRollOut = function () {
this._alpha = 40;
}
productKnop.onRollOver = function () {
this._alpha = 100;
}
}
}

die randomArray is een var die aan het begin van het script word aangemaakt en later in een knop word gedefineerd zodat ik deze functie aan meerdere knoppen kan hangen.

Maar goed...
online faalt hij ziet de xml niet ofzo...
offline no problem..

en ik verander niets aan de mappenstructuur...

Dauntless
%Europe/Berlin %502 %2009, 12:03
Waar roep je initContent op ?

BatteauProductions
%Europe/Berlin %512 %2009, 12:18
in een button die ook de naam meegeeft aan de randomarray

//navigation//
interactive_mc.onRelease = function () {
randomArray = childItemsWeb;
buttonPressed = 1;
navigation ();
initcontent (); //calls the content
trace ("going to navigation");
}

Dauntless
%Europe/Berlin %518 %2009, 12:26
En hoe ben je zeker dat de xml ingeladen is tegen de tijd dat de knop ingedrukt wordt? Ik zie geen link tussen je xml en je button?

Probeer het bv zo:
var childItemsWeb:Array = new Array();
web_xml.onLoad = function(succes:Boolean):Void {
if(succes) {
interactive_mc.onRelease = onInteractiveRelease;
childItemsWeb = web_xml.firstChild.childNodes;

trace ("Succes! Web");
}else{
trace("Failure! Web");
}
}

//navigation//
function onInteractiveRelease () {
randomArray = childItemsWeb;
buttonPressed = 1;
navigation ();
initcontent (); //calls the content
trace ("going to navigation");
}

BatteauProductions
%Europe/Berlin %528 %2009, 12:41
heb ik geprobeerd, maar het maakt niet uit :P

en ik heb men cache al leeg gegooid dus ik ziet niet tegen de oude versie aan te kijken.
kan het misschien zo zijn dat de fout bij men 'host' ligt?

Dauntless
%Europe/Berlin %540 %2009, 12:58
Nee, want de xml wordt correct ingeladen.

Maar heb je momenteel enige garantie dat je xml ingeladen is tegen dat de rest van je script uitgevoerd wordt?

BatteauProductions
%Europe/Berlin %575 %2009, 13:48
bleek dus wel nog tegen de oude versie aan te kijken...

maar nu heb ik jou code online gegooid en nu merk ik idd dat de xml nog niet meteen geladen is (of niet ingeladen word)

hoe kan ik dat dan afvangen dat hij PERSE eerst de XML inlaad voordat hij de pagina uberhaupt laat zien?

Dauntless
%Europe/Berlin %580 %2009, 13:55
Dat hangt volledig af van hoe je site opgebouwd is. Je kan bv initContent() oproepen vanuit de onLoad. Je kan ook een frame bijmaken die je vooraan zet waarin je een preloader zet die de website & de xml inlaadt. Wanneer hij klaar is ga je dan naar de "echte" eerste frame van je website.

BatteauProductions
%Europe/Berlin %613 %2009, 14:42
ik heb nu op de eerste frame van mijn .fla dit staan dat hij alvast de .swf goed inlaad


bytes_loaded = Math.round(this.getBytesLoaded());
bytes_total = Math.round(this.getBytesTotal());
getPercent = bytes_loaded/bytes_total;
this.loaded_txt = Math.round(getPercent*100)+"%";
if (bytes_loaded == bytes_total) {
this.gotoAndPlay(3);
}

ik weet alleen niet hoe je dan moet zorgen dat hij die .xml files er ook bij gooit
of is dat op dezelfde manier?

*edit*
als ik het pad er hard inzet zoals dit:
http://www.mediavormgever.net/~Kamps10049/xml/web.xml
kan hij de xml wel vinden maar dan laden de plaatjes weer niet in ofzo... huil XD

BatteauProductions
%Europe/Berlin %624 %2009, 14:59
nu alle paden letterlijk gepakt dus niet meer met ../
tis heel wazig dat hij het nu wel doet maar goed :(