swfObjectを使用してアプリにFlashPlayerを埋め込みます。埋め込まれたフラッシュオブジェクトと通信しようとすると、FireFoxでエラーが発生することがあります(IEまたはChromeでは発生しません)。エラーには、「SetVariableは関数ではありません」と表示されます。このエラーの原因となるコードは、ほんの少し前に正常に実行され、現在このエラーを示しています。ページを再読み込みして再実行すると、これが二度と起こらない可能性は十分にあります。
FFがSetVariableでうまく機能しないという報告をウェブ上で見ましたが、それを修正するものは何もありません。どうやらswfObjectはこれをすべて隠す必要がありますが、そうではありません。
私のコードは次のようになります。
...
var flashvars=...
var params=...
var attributes = {};
attributes.id = "my_player";
if( swfobject.hasFlashPlayerVersion("9.0.0") )
{
swfobject.embedSWF("my_player_js.swf", "my_player_holder", "1", "1", "9.0.0", "", flashvars, params, attributes );
}
....
document.getElementById("my_player").SetVariable( "method:stop", "");
FFの最後の行で、「SetVariableは関数ではありません」というエラーが発生することがあります。
どこを見るべきかについての提案はありますか?