Я пытаюсь написать простой flash mp3-плеер, используя JQuery, и это плагин SWF-объекта.
Я добавляю SWF на страницу, используя этот код:
$("body").append("<div id='player_external' style='position:absolute;top:0;left:0;height:1px;width:1px;'></div>");
$('#player_external').flash({swf:"player_external.swf",wmode:"transparent",height:1,width:1,AllowScriptAccess:"always"});
В плеере должен быть невидимый однопиксельный объект, взаимодействующий с JavaScript.
Когда я вызываю функции javascript из flash-объектов (используя ExternalInterface.call()
), все работает нормально.
Но когда я пытаюсь вызвать функцию ActionScript из JavaScript, ничего не происходит.
Я добавил функцию обратного вызова, как это:
ExternalInterface.addCallback("MyFunc",MyFunc);
И я перепробовал все возможные способы, которые нашел в интернете. Как:
$('#player_external').context.MyFunc();
$('#player_external').flash("MyFunc()"); //this just crashes browser!
Кроме того, найденное здесь решение: Как я могу вызвать функцию Actionscript, когда jQuery ссылается на .swf? не помогает.
Я оставил надежду на это. Может быть, лучше использовать вспышку без помощи JQuery.
Но должен быть какой-то способ сделать это.
Спасибо.