25. april 2003 - 23:50Der er
17 kommentarer og 1 løsning
Popup der styrer flashfilm
Jeg har et gæstebog i flash, der henter tekst fra en database til dynamisk tekstfelt.
Når der trykkes på et link kommer et popup vindue, hvori man kan skrive en besked til databasen.
Når der trykkes send i popup'en lukkes vinduet og beskeden sendes til databasen.
Men er det samtidig muligt at få det dynamiske tekstfelt til at opdatere "on submit" fra popup'en?
Jeg ved godt det sikkert ikke kan gøres fra popup, men jeg har tidligere brugt det her javascript, når jeg kontrollerer flashfilm fra en anden html frame:
java script:parent.main.forside.GotoFrame(x); (i frame x unloades så movieclip'et, hvorefter det genloades)
Nogen der har en ide til om det evt kan omskrives, så det virker fra en popup?
(jeg har overvejet nogle alternative løsninger, bla. at lade det dynamiske tekstfelt opdatere sig selv rent tidsbestemt, men ville gerne lave det mere elegant/imponerende)
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
popup vinduet skal ikke åbne et nyt vindue, men opdatere den flashfilm, hvorfra popup'en blev åbnet. (dette vindue er således stadig åbent sammen med popup'en) Nu kan jeg ikke lige teste det før senere, men dit script ligner ikke et der virker til dette formål?!
window.opener en en javascript reference tilbage til det vindue, som åbnede det. Og så er du i topframen i dette vindue, og kan gennem frames finde din flashfilm og give den en GotoFrame eller SetVariable...
dvs "on uload" af popup skal kaldes java script:window.opener.flashfil.gotoFrame(x) hvis nu den frame hvor filmen ligger hedder main og swf'en hedder forside, hvad bliver så den fulde kode (bare for at få det skåret ud i pap)? (som sagt jeg tester senere, men det er indiskutabelt skønnest, hvis det virker med det samme) *g*
"window.opener en en javascript reference tilbage til det vindue, som åbnede det." - Dette er ikke helt korrekt.
window.opener er en reference tilbage til præcis den ramme i det vindue der åbnede det. I det her tilfælde findes der rammer i opener vinduet så man skal lige være 200% opmærksom på at stien bliver helt rigtig.
Hvis vinduet blev åbnet i rammen med flashfilmen kan man altså nøjes med at bruge : opener.forside.GotoFrame(x);
onUnLoad er en javascript eventhandler og indholdet vil altid være javascript. Derfor skrives det :
ovenstående kræver måske en forklaring - jeg fandt nemlig ud af at jeg ikke skulle bruge GotoFrame, men Play istedet.
Da jeg fandt ud af at GotoFrame betyder GotoandStop. Undrede mig på falderebet om ikke der findes en komando, der kan bruges i javascript, der svarer til GotoandPlay?
Men under alle omstændigheder, så slap fik jeg det til at virke med window.opener og ikke blot opener ;o)
jeg kan nu ikke få ovenstående til at virke, men det kan være at jeg i kådhed har lavet nogle fejl...hmm..tjekker...hmmm
Synes godt om
Ny brugerNybegynder
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.