Avatar billede t-hviid Nybegynder
03. januar 2005 - 22:50 Der er 9 kommentarer og
1 løsning

getUrl værdi fra XML

Er det muligt at hente linket i en getUrl fra et XML-dokument?
Man kan se dokumentet her:
http://hviid.dyndns.dk/flash/menu.xml
Det er products jeg gerne vil gøre det med.
Avatar billede thulstrup Nybegynder
04. januar 2005 - 08:57 #1
Du kan få link værdierne sådan her:


var x = new XML();
x.ignoreWhite = true;
x.onLoad = function(s) {
    if (s) {
        var base = this.firstChild.childNodes;
        var sections = base.length;
        for (var i = 0; i<sections; i++) {
            var subsecs = base[i].childNodes.length;
            for (var j = 0; j<subsecs; j++) {
                var link = base[i].childNodes[j].attributes.link;
                if (link != undefined) {
                    trace("linket er: "+link);
                }
            }
        }
    } else {
        trace("nej");
    }
};
x.load("http://hviid.dyndns.dk/flash/menu.xml");


Hvad vil du så med dem? Skal de tildeles til nogle knapper?
Avatar billede t-hviid Nybegynder
04. januar 2005 - 09:00 #2
Ja det er til nogle knapper med On(rollOver) og On(rollOut) på
Avatar billede thulstrup Nybegynder
04. januar 2005 - 09:11 #3
Nu ved jeg ikke lige hvordan du har bygget din swf op, men det kunne f.eks. se sådan her ud, hvor du attacher en knap for hvert link:


var ref = this;
var x = new XML();
x.ignoreWhite = true;
x.onLoad = function(s) {
    if (s) {
        var c = 0;
        var base = this.firstChild.childNodes;
        var sections = base.length;
        for (var i = 0; i<sections; i++) {
            var subsecs = base[i].childNodes.length;
            for (var j = 0; j<subsecs; j++) {
                var link = base[i].childNodes[j].attributes.link;
                if (link != undefined) {
                    var knap = ref.attachMovie("knap", "knap"+c, c, {_x:25, _y:30*c, link:link});
                    knap.onRollOver = function() {
                        this.gotoAndStop(2);
                    };
                    knap.onRollOut = function() {
                        this.gotoAndStop(1);
                    };
                    knap.onRelease = function() {
                        getURL(this.link, "_blank");
                    };
                    c++;
                }
            }
        }
    } else {
        trace("nej");
    }
};
x.load("http://hviid.dyndns.dk/flash/menu.xml");
Avatar billede t-hviid Nybegynder
04. januar 2005 - 10:16 #4
Er det muligt at gå direkte ind på den knap jeg har lavet(mc) og sætte getUrl på hvor det hentes fra Xml dokumentet
Avatar billede thulstrup Nybegynder
04. januar 2005 - 10:38 #5
Det ville være dumt at hente xml-dokumentet, hver gang du trykker på en knap. Istedet kan du hente det til at starte med og så gemme linksene i et array:

var links = [];
var x = new XML();
x.ignoreWhite = true;
x.onLoad = function(s) {
    if (s) {
        var base = this.firstChild.childNodes;
        var sections = base.length;
        for (var i = 0; i<sections; i++) {
            var subsecs = base[i].childNodes.length;
            for (var j = 0; j<subsecs; j++) {
                var link = base[i].childNodes[j].attributes.link;
                if (link != undefined) {
                    links.push(link);
                }
            }
        }
    } else {
        trace("nej");
    }
};
x.load("http://hviid.dyndns.dk/flash/menu.xml");


Hvordan du så derfra vil hente linksene, kommer an på din opbygning, men det kunne f.eks være:

knap0_mc.onRelease = function() {
    getURL(links[0], "_blank");
};
Avatar billede thulstrup Nybegynder
04. januar 2005 - 10:51 #6
Hvis du navngav dine knapper 'knap0_mc', 'knap1_mc', 'knap2_mc' osv, kunne du finde frem til linknummeret ud fra knap navnet:

knap0_mc.onRelease = function() {
    var link = links[Number(this._name.substring(4, 5))];
    getURL(link, "_blank");
};
Avatar billede t-hviid Nybegynder
04. januar 2005 - 11:00 #7
Fantastisk det virker perfekt. Jeg har lige et tillægs? Jeg bruger jo også xml til at hente teksten på knapperne ind. I knap-mc'erne har jeg to frames. Et off frame og et on frame med hver sin effetkt. Jeg henter tekst til knapperne ind i 1 frame på selve main timelinen. Men når knapperne skifter frame nulstilles dette. Hvorfor?
Men læg et svar det jeg spurgte om virker perfekt :-)
Avatar billede thulstrup Nybegynder
04. januar 2005 - 11:10 #8
I din knap laver du tekstfeltet i et layer for sig selv. Dette layer skal så strække sig over begge frames, så burde det virke.
Avatar billede t-hviid Nybegynder
04. januar 2005 - 11:12 #9
Ja, selvfølgelig ;-) Tak
Avatar billede thulstrup Nybegynder
04. januar 2005 - 11:13 #10
Selv tak :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester