我的ActionScript的ExternalInterface回调函数没有通过。我该怎么调试呢?

时间:2009-09-08 18:35:40

标签: javascript jquery flash actionscript externalinterface

请帮忙吗?似乎我的回调函数没有被调用...返回。我正在使用jQuery和Flash 8.要访问Flash对象,我使用的是jquery swfobject插件,c.f。 (http://jquery.thewikies.com/swfobject/examples)。如果您认为我首先没有正确访问SWF,请建议我如何做到这一点的代码。谢谢!

JavaScript代码:

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

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
}

1 个答案:

答案 0 :(得分:0)

我的代码是正常工作。我只是上传错误的SWF,而不是发布到正确的位置。我发现它是通过下面的调试代码,上传,并注意到虽然它出现在本地调试控制台中,但它没有出现在Flash Tracer中

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

另外,我改变了Flash的安全性。在HTML中,我将“AllowScriptAccess”设置为“always”,而在SWF中,我把:

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

感谢您的期待!希望你将来有运气。