¿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 № 1Mi 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.