2009-12-07 15 views
7

Voy a llamar en una aplicación Flash incrustado en una página HTML usando el ExternalInterface. El siguiente código funciona bien (estoy usando un botón para poner a prueba):AS3 llamada ExternalInterface usando jQuery

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

Así que esto pone en la aplicación fina flash y grabados:

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

Pero cuando se utiliza el jQuery $ # método para obtener un elemento de identificación, recibo una copia de objeto diferente:

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

Cuando utilizo este me dicen:

app.pageUnloaded is not a function 

y se imprime la siguiente:

[embed#ApplicationID] 

también he intentado:

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

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

Pero aún sin éxito. ¿Alguien tiene alguna idea aquí?

+0

¿Tiene una página de ejemplo para demostrar esto? '.get (0)' funciona para mí – jitter

Respuesta

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

o

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

debe hacer lo mismo que

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

mi mal con el .get (0), funciona, pero estaba llamando a la función incorrecta –

5

Cuando usa $("#ApplicationID"), recibirá un objeto jQuery.

Es por eso que no funciona. Pero $("#ApplicationID").get(0) en realidad debería funcionar.

Cuestiones relacionadas