JQuery と SWF オブジェクト プラグインを使用しながら、単純なフラッシュ mp3 プレーヤーを作成しようとしています。次のコードを使用してページに 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 とやり取りする非表示の 1 ピクセル オブジェクトである必要があります。フラッシュオブジェクト内から(を使用して)javascript関数を呼び出すと、正常ExternalInterface.call()
に動作します。
しかし、JavaScript から ActionScript 関数を呼び出そうとしても、何も起こりません。次のようなコールバック関数を追加しました。
ExternalInterface.addCallback("MyFunc",MyFunc);
そして、インターネットで見つけたすべての可能な方法を試しました。お気に入り:
$('#player_external').context.MyFunc();
$('#player_external').flash("MyFunc()"); //this just crashes browser!
また、解決策は次のとおりです: How can I call an Actionscript function when the .swf is referenced by jQuery? 役に立ちません。私はこれで希望を捨てました。JQuery の助けを借りずにフラッシュを使用する方が良いかもしれません。しかし、これを行うには何らかの方法があるはずです。
ありがとう。