18. maj 2008 - 11:49Der er
14 kommentarer og 2 løsninger
Kalde JavaScript fra Flash (swf)
Er det muligt at kalde nedenstående JavaScript fra en swf-knap?
java script:
<script type="text/javascript"> window.addEvent('domready', function(){ $('stop').addEvent('click', function(e) { e = new Event(e).stop();
var url = "europa.php";
/** * The simple way for an Ajax request, use onRequest/onComplete/onFailure * to do add your own Ajax depended code. */ new Ajax(url, { method: 'get', update: $('log') }).request(); }); }); </ </script>
Forslag i Flash:
import flash.external.*;
knap.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); function mouseUpHandler(event:MouseEvent):void { ExternalInterface.call("ETELLERANDET??"); }
</ skal nok ikke være i den kode. Og så ville jeg i øvrigt lægge det i en funktion, så det var lettere at kalde:
<script type="text/javascript"> function DoIt(){ window.addEvent('domready', function(){ $('stop').addEvent('click', function(e) { e = new Event(e).stop();
var url = "europa.php";
/** * The simple way for an Ajax request, use onRequest/onComplete/onFailure * to do add your own Ajax depended code. */ new Ajax(url, { method: 'get', update: $('log') }).request(); }); }); } DoIt(); </script>
Og så skulle du kunne kalde det fra Flash med: getURL("java script:DoIt();void(0)");
Ja, jeg tror også der er noget andet galt, da getURL("java script:funktionen();void(0)"); ser rigtigt ud..
Men så er spørgsmålet, hvad der er galt. Nedenstående lytter på et <a href="#" name="stop"> - men det må være muligt at kalde denne fra flash, på en eller anden måde...
$('stop').addEvent('click', function(e) { e = new Event(e).stop();
Umiddelbart vil jeg tro, at det skulle virke, hvis du bruger externalinterface.call("DoIt") og w13's version af javascript'et med tilsvarende navn på funktionen.
Er desværre ikke ferm til javascript. Men prøv at lav en alert som det første i dit javascript, så kan du i hvert fald se, hvornår du får fat i funktionen fra flash. Jeg sidder med AS2 lige nu, så jeg kan ikke hjælpe mere specifikt...
Så hold øje med godtur.dk - er ved at lave et verdenskort, hvor tryk på de forskellige kontinenter (flash) resulterer i en informationer (JavaScript) om, hvad der findes af oplevelser i de pågældende lande.. :-)
Regner med at det kommer til at hedde "do's and dont's" ;-) Men der går nok lige en uge eller to før det er sat op.
Undgå at bruge metoden 'get' til Ajax. Det 'stjæler' hukommelse i IE. Derudover ser det ikke ud til, det er et særlig hensigtsmæssigt/validt Ajax-library, du har fat i =)
Hvilke noget af det er ikke hensigtsmæssigt/validt?
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.