0

助けてください?私のコールバック関数が呼び出されていないようです...戻ってきました。私は jQuery と Flash 8 を使用しています。Flash オブジェクトにアクセスするには、jquery swfobject プラグイン cf ( http://jquery.thewikies.com/swfobject/examples ) を使用しています。そもそも SWF に適切にアクセスしていないと思われる場合は、どのようにすればよいかを示すコードを教えてください。ありがとう!

JavaScript コード:

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

フラッシュコード:

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
}
4

1 に答える 1

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');

ご覧いただきありがとうございます。今後ともよろしくお願いいたします。

于 2009-09-09T04:18:12.790 に答える