01. april 2002 - 18:47Der er
28 kommentarer og 1 løsning
Sende variabler til ny html side via flash ??
Hvis man sætter en variabel i en flash f.eks med inputtext, og vil have den variabel "med" til en anden flash, på en ny html-side man linker til.
Hvordan gør man så det ?
Alternativt vil jeg gerne vide hvordan man får flash til at eksportere en variabel til en tekst-fil ?? (Så kunne jeg evt. bruge loadVariables bagefter)
Når du har loaded den nye Flash-fil(i den nye HTML-fil) SKULLE du kunne LOADE variablen fra dit tekstfelt ind i den nye flash-fil med *************************
loadVariables("gammelfil.swf", (level) 0, "POST")
strText = textFeltNavn
*************************
Du opretter et DYNAMISK tekstfelt i den nye fil. "strText" er det variablenavn du vælger at kalde tekstfeltet.
Har ikke prøvet selv at udvæksle variabler mellem 2 flash-filer.
Jeg ved godt hvad du taler om. Men jeg sidder og arbejder med Flash -> ASP -> DB -> ASP -> Flash og DER er det den måde man gør det på!!!
Du skal nok bruge getURL med variables: SEND USING GET...
Jeg antager, for eksemplets skyld, at du har 2 filer (fil1.htm & fil2.htm)
Du ønsker at genbruge variablen "strVar" fra fil1.htm i fil2.htm
Du vælger altså i fil1.htm Actionen: GetURL("fil2.htm?strVar=" && strVar, "_self", "GET") (noget i den retning)
I fil2.htm kanlder du en anden Action: loadVariables("fil2.htm?strVar=" && strVar, this , "GET")
Måske det virker ellers prøv at slette alt efter "?" (incl. ?-selv) i begge komandoer og brug metoden "POST". Sørg for at det tekstfelt der skrives til i den nye fil(den i fil2.htm) har samme variable navn og er et DYNAMISK tekstfelt.
Du skal også være omærksom på HVOR du loader din vairable ind i din Flash fil og HVOR dit/dine tekstfelter er placeret!!!
Jeg har et dynamsik text felt med variable navn: Dato
Jeg har et ASP-dokument liggende i samme mappe som henter nogle data fra en database.
Jeg "henter" asp-dokumentet ind i min swf-fil med denne kommando:
loadVariables ("GetInfo.asp", this, "POST")
I asp-dok. står der f.eks denne linie:
Response.Write "&Dato=" & rs("Date")
Og i samme øjeblik filen er loadet(loadVariables) skrives Den dato ud i mit Dato felt(med variabel navnet "Dato") i min swf-fil.
Grunden til at jeg bruger metoden "POST" er at jeg i min SQL-sætning i ASP-dok. bruger en anden variable fra min swf-fil til at bestemme HVILKE data der skal hentes i databasen.
Men som hoejrup foreslår er den bedste løsning (så længe MX ikke er mere udbredt) nok at bruge en eller anden form for server-scripting eller sætte en cookie...
Hvis du blot laver en getURL, så er det da bare at skrive:
getURL("dinnyeside.html?navnet="+_root.navn);
I din nye side kan du så enten have PHP eller ASP til at trække get-variablen ud og sætte den ind i dine object og embed-tags... Eller er det kun få variable, så kan lidt javascript do the job...
Barklund>> Det er kun få variabler ! og jeg vil helst have det lavet uden php/asp osv. Hvis jeg skriver html-siderne med document.write, så kan jeg bruge din getURL syntaks, ikke ?
Min egentlige ide var at der burde være en saveVariables(), som der er en loadVariables(), Det ville være nemmest, hvis den kunne skrive en tekstfil på serveren, men på den anden side ville det nok gå i kage hvis der var flere brugere samtidig !!!
Håber jeg kan få løst opgaven nemmest muligt... Alles foreslag er interessante, De skal bare lige følges til dørs (forklar mig det med et eksempel, jeg kan forstå/bruge)
UserName er det samme som variavel navnet, eks. legend = 1; i flash, og Stickman er værdien for variablen. Tilsidst skal cookien eksisterer 30 dage i browseren.
FS Command ("set_cookie", "UserName,Stickman,30")
For at hente værdien Stickman så skal du anvende variabel navnet UserName.
Hoejrup>> Jeg har fået det til at virke nu, med inputvariabel, men det er jo sådan en "snyde"/"browser"-cookie. Den er væk hvis man lukker browseren. Kan man ikke lave en "rigtig" cookie i stedet for. (dvs. en der gemmes, som de andre cookies man får)
Her lader det til at "levetiden" kun er interessant hvis browseren ikke lukkes i dette tidsrum ! ------------------------------------------------------------- Barklund>> "Eller er det kun få variable, så kan lidt javascript do the job..."
Vil du skrive de få koder til mig (java)
den får det her: getURL("side2.html?variabel="+_root.test);
Hvis du vil skrive sådan, at den snupper "test" fra URL'en og putter den ind i flashen (på side2) ----------------------------------------------------------
Jeg skal nok belønne jer begge med f.eks 50 points. Jeg vil gerne lære dette (på begge måder)
Du kan godt lave en rigtig cookie, det kræver at du laver den i javascript. Derefter skriver du følgende actionscript kode i flash:
on (press) { getURL ("java script:minCookieFunktion('variabel="start"')"); }
Indsættes i din flash html:
<SCRIPT LANGUAGE="JavaScript"> function minCookieFunktion(variabel) { var expdate = new Date (); expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 30)); // Expires in 30 days var expires = "; expires=" + expdate.toGMTString(); document.cookie=cookieName+"="+variabel+expires; } function getCookie(cookieName) { variabel = readCookie (cookieName) } </script>
Indlæse i din nye flash:
on (press) { loadeVariable ("minhtmlside.html?var1=variabel"); }
Helt sikkert. Jeg har nu prøvet at lave både en "flash/browser"-cookie, og en rigtig en med asp. -Jeg mangler lige at prøve Java-modellen, men scriptet ser godt ud.
Jeg blev dog ledt lidt på afveje af dine første svar, da jeg "troede det var nok", det du skrev. -Men det krævede jo en del Javascript ved siden af, som jeg dog fik på linket til Stickman.
Jeg har nu besluttet at den bedste løsning til mit behov er asp & flash blandet sammen. Jeg vil helst have at cookien bliver på computeren, selv om browseren lukkes.
Hvis nogen vil se den blærede cookie-test forefindes den her:
-Den skriver en "rigtig" cookie som havner i docs & settings, og bruges når man næste gang "besøger" siden.
Browser-cookien var svar nok på mit egentlige spørgsmål... Men det andet er langt mere interessant, fandt jeg ud af...
Krisbjoern bør alligevel have en lille tak for sine forslag/svar, og Barklund er jo altid genial... -De må have points næste gang (o;. Tak for hjælpen til alle, og især din tålmodighed... -De andre hoppede hurtigt fra. Håber du kan hjælpe mig en anden gang.
Med venlig hilsen Legende.dk
(Du skal lige "svare" så jeg kan give dig points'ne)
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.