Firefox で ExternalInterface を動作させるのに苦労しています。JavaScript から AS3 関数を呼び出そうとしています。SWF は適切なコールバックでセットアップされ、IE で動作しています。
AC_RunActiveContent.js を使用して、swf をページに埋め込んでいます。ただし、オブジェクト/埋め込みタグに ID を追加するように変更しました。以下は、IE 用と Firefox 用にそれぞれ生成されたオブジェクトと埋め込みタグです。
<object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="400" height="400" align="middle" id="jpeg_encoder2" name="jpeg_encoder3" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" >
<param name="movie" value="/jpeg_encoder/jpeg_encoder3.swf" />
<param name="quality" value="high" />
<param name="play" value="true" />
<param name="loop" value="true" />
<param name="scale" value="showall" />
<param name="wmode" value="window" />
<param name="devicefont" value="false" />
<param name="bgcolor" value="#ffffff" />
<param name="menu" value="false" />
<param name="allowFullScreen" value="false" />
<param name="allowScriptAccess" value="always" />
</object>
<embed
width="400"
height="400"
src="/jpeg_encoder/jpeg_encoder3.swf"
quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
align="middle"
play="true"
loop="true"
scale="showall"
wmode="window"
devicefont="false"
id="jpeg_encoder2"
bgcolor="#ffffff"
name="jpeg_encoder3"
menu="false"
allowFullScreen="false"
allowScriptAccess="always"
type="application/x-shockwave-flash" >
</embed>
私はこのように関数を呼び出しています...
<script>
try {
document.getElementById('jpeg_encoder2').processImage(z);
} catch (e) { alert(e.message); }
</script>
Firefox で、" document.getElementById("jpeg_encoder2").processImage is not a function"というエラーが表示されます。
何か案は?