2009-12-07 2 views
7

Ich rufe in eine Flash-App in einer HTML-Seite mit dem ExternalInterface aufrufen. Der folgende Code funktioniert gut (ich bin eine Taste zu testen):AS3 ExternalInterface Anruf mit jquery

$(document).ready(function(){ 
    $("#button").click(function(){ 
     var app = document.getElementById('ApplicationID') 
     console.debug(app) 
     app.pageUnloading() 
    }) 
}) 

So erfordert dies in den Flash-App fein und Drucke:

<embed id="ApplicationID" width="600" height="400" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" allowscriptaccess="sameDomain" name="FlexMoeders" bgcolor="#cccccc" quality="high" src="ApplicationID.swf"> 

Aber wenn ich den jquery $ # Verfahren zur Herstellung eines Elements mit id bekommen, erhalte ich ein anderes Objekt zurück:

$(document).ready(function(){ 
    $("#button").click(function(){ 
     var app = $("#ApplicationID") 
     console.debug(app) 
     app.pageUnloading() 
    }) 
}) 

Als ich das benutze ich mir gesagt:

app.pageUnloaded is not a function 

und folgend gedruckt:

[embed#ApplicationID] 

Ich habe auch versucht:

var app = $("#ApplicationID").val() 

var app = $("#ApplicationID").get(0) 

aber noch keinen Erfolg. Hat jemand hier irgendwelche Ideen?

+0

Haben Sie eine Probe, dies zu zeigen? '.get (0)' funktioniert für mich – jitter

Antwort

10
var app = $('#ApplicationID')[0] 

oder

var app = $('#ApplicationID').get(0) 

sollten das gleiche tun Seite als

var app = document.getElementById('ApplicationID') 
+0

mein schlecht mit dem .get (0), es funktioniert, aber ich habe die falsche Funktion aufgerufen –

5

Wenn Sie $("#ApplicationID") verwenden, erhalten Sie ein jQuery-Objekt zurück.

Deshalb funktioniert es nicht. Aber $("#ApplicationID").get(0) sollte eigentlich funktionieren.