swfオブジェクトを使用してswfを埋め込みます。JSからフラッシュ関数を呼び出すために外部インターフェースを使用しようとしていますが、問題があります。私はすべてのドキュメントを検索し、たくさんのものを読みました、そして私はそれを正しくやっていると確信しています。問題がどこにあるのか誰かが指摘できますか?
var flashvars = {};
var params = {wmode:"opaque", allowscriptaccess:"always" };
var attributes = {id:"MySwf", name:"MySwf"};
swfobject.embedSWF("MySwf.swf", "flashContent", "600", "400", "9.0.0", "swfs/expressInstall.swf", flashvars, params, attributes,function(e){
if(e.success){
_flashRef = e.ref;
testExternalInterface();
}else{
alert("We are sorry, flash is required to view this content.");
}
});
function testExternalInterface(){
var swf = document.getElementById("MySwf");
swf.sendMeTheGoods("TEST TEST");
};
上記は私のフラッシュに埋め込まれたコードとjs関数です
if (ExternalInterface.available)
{
trace("adding external interface");
ExternalInterface.addCallback("sendMeTheGoods", sendMeTheGoods);
}
public function sendMeTheGoods(text:String):void
{
trace("setting vars")
trace(text);
txtYouSent.text = text;
}
エラーUncaughtTypeErrorが発生します:オブジェクト#にはメソッド'sendMeTheGoods'がありません
document.getElementById( "MySwf");を参照して両方を試しました。およびdocument.getElementById( "flashContent"); 両方の方法でエラーが発生します。助言がありますか?