2009-12-07 14 views
7

Sto chiamando in un'app flash incorporata in una pagina html utilizzando l'interfaccia esterna. Il seguente codice funziona bene (sto usando un pulsante per testare):Chiamata ExternalInterfaccia AS3 utilizzando jquery

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

Quindi questo chiama in flash app fine e stampe:

<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"> 

Ma quando uso il jquery $ # metodo di ottenere un elemento da id, ricevo un diverso schiena oggetto:

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

Quando uso questo mi è stato detto:

app.pageUnloaded is not a function 

e viene stampato il seguente:

[embed#ApplicationID] 

Ho anche provato:

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

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

Ma ancora senza successo. Qualcuno ha qualche idea qui?

+0

Avete una pagina di esempio per mostrare questa via? '.get (0)' funziona per me – jitter

risposta

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

o

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

dovrebbe fare la stessa cosa di

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

il mio male con il .get (0), funziona, ma stavo chiamando la funzione sbagliata –

5

Quando si utilizza $("#ApplicationID") si ottiene un oggetto jQuery.

Ecco perché non funziona. Ma lo standard $("#ApplicationID").get(0) dovrebbe funzionare.