/ / La función de devolución de llamada ExternalInterface de mi ActionScript no se está ejecutando. ¿Cómo puedo depurarlo? - javascript, jquery, flash, actionscript, interfaz externa

La función de devolución de llamada ExternalInterface de mi ActionScript no se está ejecutando. ¿Cómo puedo depurarlo? - javascript, jquery, flash, actionscript, interfaz externa

¿Ayuda por favor? Parece que mi función de devolución de llamada no está siendo llamada ... atrás. Estoy usando jQuery y Flash 8. Para acceder al objeto Flash, estoy usando el complemento jquery swfobject, c.f. (http://jquery.thewikies.com/swfobject/examples). Si cree que, en primer lugar, no estoy accediendo correctamente al SWF, recomiende un código sobre cómo lo haría. ¡Gracias!

Código JavaScript:

$("#songplayer").flash("callCueSong(" + songid + ")");

Código Flash:

import flash.external.*;
ExternalInterface.addCallback("callCueSong", null, cueSong);


stop();
pause = false;
pp_btn.hitArea = pause_hit_area;
love_btn.hitArea = love_hit_area;
_root.display_txt.backgroundColor = 0xffffff;

function cueSong(songid) {
trace("Cueing track " + songid);
_root.sid = songid;
_root.sound_mc.songStarter("sent", false);

}

MovieClip.prototype.songStarter = function(next_direction, feedback) {
// code goes here
}

Respuestas

0 para la respuesta № 1

Mi codigo era trabajando. Simplemente estaba cargando el SWF incorrecto, y nopublicando en el lugar correcto. Lo descubrí colocando el siguiente código de depuración, subiéndolo y notando que, aunque apareció en la consola de depuración local, no apareció en Flash Tracer.

trace("Availability: " + ExternalInterface.available);

Además, he cambiado la seguridad en el Flash. En el HTML, puse "AllowScriptAccess" como "siempre", y en el SWF, puse:

System.security.allowDomain("http://www.mydomain.com", "http://mydomain.com", "mydomain.com", "amazonaws.com");

¡Gracias por mirar! Espero que tengas suerte en el futuro.