Avatar billede sunstream Nybegynder
25. marts 2004 - 15:09 Der er 4 kommentarer og
1 løsning

aktivera flash-funktion via javascript

Hej hopp!

Jag har ett stort problem med att få en flash-funktion att starta via javascript...

Jag har en html-side (start.html) som innehåller 1 iframe (name=flash) med ett flash-dokument (animation.swf) som har en funktion som heter tex. makeMagic()...

Vad jag önskar uppnå är, att när man klickar på en textlink på html-siden så ska flash-funktionen makeMagic() do its magic...dvs den ska gå till en specifik frame...

Jag har prövat med olika javascripts men jag börjar bli sindsyg af det hele :oP

Är inte den stora javascripts-haj men jag tycker att, eftersom man utan problem kan kalla på javascripts från flash så borde man också kunna göra det omvända...alltså kalla på flash från javascriptet....ugh...


Tingen är den att siden reloades vid varje klick pga. ett externt "text-system" och pga. att jag inte får använda frames... och jag måste undgå att flash'en också reloades pga. animationer och så vidare...det är därför som flash-dokumentet ska ligga i en iFrame...


Kan det lösas på ett annat sätt tex. med asp lr noet ?

Pleeeaaase är det någon som kan hjälpa mig ?!?!
Avatar billede barklund Nybegynder
25. marts 2004 - 15:15 #1
Du kan gøre to ting. Det ene er at du altid husker hvad din flash laver ved at gemme dens tilstand i en "flash cookie" - et såkaldt SharedObject.

Du kan også via javascript sætte en flash variabel, som du så kan lave en watch på. I Flash:

_level0.watch("dothemagic", function() {makeMagic();});

Og i java script:

top.frames['flash'].document.getElementById('flashobject').SetVariable("dothemagic","void");

Det kræver så at du giver dit flash object et navn:

<object id="flashobject" ...>
...
<embed name="flashobject" ...>
</object>

// Morten Barklund
Avatar billede sunstream Nybegynder
25. marts 2004 - 15:44 #2
ok...jag har följande kod:


// i html'en...........

<SCRIPT TYPE="text/javascript">
function go() {
top.frames['flash'].document.getElementById('flashobject').SetVariable("dothemagic","void");
}
</script>

// på knappen i html....
java script:go();

// på ett MC i flash...
onClipEvent (enterFrame) {
_level0.watch("dothemagic", function () {makeMagic()})
}

// i första frame i Flash...
function makeMagic () {
_root.test = "C'MOOOOON DAMNIT!!!"
}

och "_root.test" är ett dynamiskt textfält...bara så att jag kan se om det sker noet :oP

// och mitt flash object har:
<object id="flashobject" ...>
...
<embed name="flashobject" ...>
</object>


men jag vet att det är något som jag inte har förstått med det här, eftersom det intet sker !

agh ! :oP
Avatar billede barklund Nybegynder
23. maj 2004 - 16:36 #3
Husk at lukke :)

(og fjern dit script fra din enterFrame og læg det direkte i din frame kode istedet)
Avatar billede sunstream Nybegynder
27. maj 2004 - 20:04 #4
oooh...sorry...har heeelt glömt att lukke detta spørgsmål :oP så bara ge mig ett svar så får du points....bättre sent än aldrig ;o)
Avatar billede barklund Nybegynder
31. maj 2004 - 14:40 #5
Helt ok :)
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