Avatar billede cowboy Nybegynder
09. december 2005 - 11:34 Der er 10 kommentarer og
1 løsning

Loadvars problem igen

Er der en der kan fortælle mig hvorfor mit LoadVars script ikke virker? nedenstående et forsøg på at forklarer hvordan det hænger sammen.

//Flash kode i første frame
tjek_menu = new LoadVars();
tjek_menu.onLoad = function(succes) {
if(succes){
        menustatus = this.var_menunavn;
        if(menustatus == ""){
        gotoAndPlay("start_her");
        }
        if(menustatus == "menu1"){
        gotoAndStop("menu1");
        }
        if(menustatus == "menu2"){
        gotoAndStop("menu2");
        }
        if(menustatus == "menu3"){
        gotoAndStop("menu3");
        }
        if(menustatus == "menu4"){
        gotoAndStop("menu4");
        }
        if(menustatus == "menu5"){
        gotoAndStop("menu5");
        }
    }else{
        gotoAndStop("fejl");
    }
}
tjek_menu.load("top.php", tjek_menu);
stop();

og mit PHP script(top.php) ser således ud:
<?
echo "&var_menunavn=".$_GET['menu_navn'];
?>

Selve flash filen ligger også på siden top.php.

Det som jeg forsøger er at hente variablens værdi af "var_menunavn" ind i flash og guide flash hen til den korrekte frame i mit flash dokument.
Hvis "var_menunavn" er tom(eks.http://www.etellerandet.com/top.php)
så skal den gå hen til "start_her" i flash filen.
Det vil den typisk være første gang man kommer ind på siden.

I min flash fil har jeg så en menu men nogle knapper, med links der ser såleds ud:

on(release){
getURL("http://www.etellerandet.com/top.php?menu_navn=menu2")
}
Her henter den så variablen "menu_navn"s værdi "menu2" og ligger den ned i en variabel der hedder "var_menunavn" som hentes ind i flash og guider flash hen til den korrekte frame.

Jeg håber jeg har forklaret mig bedre denne gang :o)

PS. Det skal kører til Flash 7 - 2.0.
Avatar billede nikolajdu Nybegynder
09. december 2005 - 11:59 #1
Hvorfor bruger du ikke FlashVars i stedet.

<object type="application/x-shockwave-flash" data="flashfilm.swf" width="760" height="130">
    <param name="movie" value="flashfilm.swf" />
    <param name="FlashVars" value="menu_navn=<?php print $_GET[""]; ?>" />
</object>

Så får du variablen ind uden at skulle loade én gang mere.
Avatar billede nikolajdu Nybegynder
09. december 2005 - 12:00 #2
skulle selvfølgelig være

<?php print $_GET["menu_navn"]; ?>" />
Avatar billede cowboy Nybegynder
09. december 2005 - 12:09 #3
hehe, det havde jeg også gjort i starten. Og det virkede faktisk fint. Men så skulle jeg lave noget login længere inde i flash filen og her prøvede jeg så med LoadVars (som jeg aldrig har rodet med før) og syntes det var nemt at arbejde med. Så jeg tænkte at det ville jeg også gøre med menuscriptet. Men det virker bare ikke.

Hvorfor tror du?
Avatar billede cowboy Nybegynder
09. december 2005 - 12:12 #4
Skal FlashVars ikke også sættes på "embed scr"
Avatar billede cowboy Nybegynder
09. december 2005 - 12:17 #5
Af en eller anden mystisk grund har jeg fået det til at virke nu, uden brug af FlashVars. Jeg fatter ikke hvad jeg gjorde :o)
Avatar billede cowboy Nybegynder
09. december 2005 - 12:20 #6
Jeg kigger lige nærmere på det. Hvis ikke det kører ordentligt går jeg over til FlashVars
Avatar billede nikolajdu Nybegynder
09. december 2005 - 12:46 #7
Du skal også have flashVars på embed hvis du bruger tagget.
<object type="application ...>
<param name="FlashVars" value="menu_navn=<?php print $_GET[""]; ?>" />
<embed .... FlashVars=" menu_navn=<?php print $_GET[""]; ?>" .....>
</object>

Idéen er at printer variablen ud direkte i koden på din side og du derfor ikke skal loade den inde fra flashen igen.
Avatar billede cowboy Nybegynder
09. december 2005 - 12:58 #8
ok. Kan man hente flere variabler ind på den måde?
Avatar billede nikolajdu Nybegynder
09. december 2005 - 13:12 #9
Du adskiller bare med & menu_navn=hej&andenvariabel=en mere

Der er en begænsning men du bør alligevel kun hente variabler der hører siden til/er statiske i flashen. Hvis du f.eks tekst ind i din flash så brug din første indskydelse. Desuden ville du jo forhåbentligt aldrig skrive f.eks et password midt i koden :)
Avatar billede cowboy Nybegynder
10. december 2005 - 21:39 #10
Jeg endte alligevel med at bruge FlashVars. Så tak for hjælpen.
Dropper du lige et svar så du kan få dine point?
Avatar billede nikolajdu Nybegynder
11. december 2005 - 17:21 #11
oki doki :)
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