Flash、ActionScript和JavaScript-未定义函数
我正试图让JavaScript从我的ActionScript调用一个函数 动作脚本:Flash、ActionScript和JavaScript-未定义函数,javascript,flash,actionscript,dom-events,Javascript,Flash,Actionscript,Dom Events,我正试图让JavaScript从我的ActionScript调用一个函数 动作脚本: import flash.external.ExternalInterface; ExternalInterface.addCallback( "playSong", playSong ); function playSong():void { var _sound:Sound = new Sound(); var _request = new URLReques
import flash.external.ExternalInterface;
ExternalInterface.addCallback( "playSong", playSong );
function playSong():void {
var _sound:Sound = new Sound();
var _request = new URLRequest("music.mp3");
_sound.load(_request);
_sound.play();
}
JavaScript:
swfobject.embedSWF('http://localhost/music.swf', 'musicplayercontrol1', '1', '1', '9', null, null, { allowScriptAccess: 'always', wmode: 'transparent' }, { }, function( e ) {
document.getElementById('musicplayercontrol1').playSong();
});
我一直得到一个Firebug没有定义的函数。有人知道我做错了什么吗?我尝试在swf加载后立即播放歌曲,这是肯定的。如果您在首次嵌入swf时直接调用该函数,问题可能是swf尚未加载并准备就绪。在执行ActionScript代码(包括ExternalInterface.addCallback(“playSong”,playSong))之前,函数将是未定义的。因此,首先必须完全加载swf并执行ActionScript代码,然后才能从JavaScript调用playSong()。在执行ActionScript代码(包括ExternalInterface.addCallback(“playSong”,playSong))之前,函数将是未定义的。因此,首先必须完全加载swf并执行ActionScript代码,然后才能从JavaScript调用playSong()。谢谢,解决了问题:)谢谢,解决了问题:)