Dakle desava mi se jedna jako cudna stvar, pa da vidim da li se neko susretao sa tim...
Imam XML koji ima ovakvu strukturu:
<?xml version="1.0" encoding="utf-8"?>
<links>
<button id="home">
<link>index.html</link>
</button>
<button id="onama">
<link>index-1.html</link>
</button>
</links>
Hocu da isparsiram taj XML u flashu, i to uradim na ovaj nacin:
var linksRequest:URLRequest = new URLRequest("links.xml");
var linksLoader:URLLoader = new URLLoader(linksRequest);
linksLoader.addEventListener(Event.COMPLETE, linksLoaded);
var linksXML:XML = new XML();
linksXML.ignoreWhitespace = true;
// variables
var homeLink:String = "";
var onamaLink:String = "";
function linksLoaded(evt:Event):void {
linksXML = XML(linksLoader.data);
homeLink = linksXML.button[0].link;
onamaLink = linksXML.button[1].link;
trace(linksXML);
}
On lepo uradi trace, sve bude OK. Zatim uradim trace(homeLink) i on izbaci index.html bas kao sto i treba.
Zatim imam dugmice:
home.addEventListener(MouseEvent.CLICK, buttonClick);
onama.addEventListener(MouseEvent.CLICK, buttonClick);
function buttonClick(evt:MouseEvent):void {
var buttonName:String = evt.target.name;
trace(buttonName);
switch (buttonName) {
case "home" :
navigate(homeLink);
break;
case "onama" :
navigate(onamaLink);
break;
}
}
function navigate(link:String):void {
var navRequest:URLRequest = new URLRequest(link);
try {
navigateToURL(navRequest, "_self");
} catch (e:Error) {
trace("Error occurred!");
}
}
trace(buttonName) - radi odlicno, dakle kada klicnem na dugmence, sve je ok, izbaci njegov naziv. Kada klicnem na dugme, on kaze PageLoad Error zato sto nemam index.html, ALI OK, sve RADI!!! Sada taj isti Flash embedujem u HTML i kada klicnem na dugme, ono kao da ne postoji!!!
E sada... pomislih da je do tog embedovanja, ali sam pokusao sledece... u case klauzulama, ja kazem navigate("index.html"), dakle hard-code-ujem vrednosti, i kada to uradim i kada embedujem taj swf u html, radi sve OK!!
Onda sam stavio sledece:
var test:String = "index.html";
...
case "home" :
navigate(test);
break;
...
Ovaj deo koda za test radi!! Ja stavim trace(test) i on izbaci index.html kao sto i treba. Stavim trace(homeLink) i ISTO TO IZBACI!!! Ali kada stavim navigate(test) sve radi OK, a kada stavim navigate(homeLink) nece i nece :( Radio sam i trace(linksXML.button[0].link) neposredno pre klika na dugme, i fino pise index.html, ali ne kapiram sto nece :(
Skoro sam radio jedan drugi sajt, koji je doduse citav u Flashu, i nisam imao nikakvih problema, ali sada evo... :(
Ima li neko nekakvu ideju?