0
ExternalInterfaceを使用して関数を呼び出す際に問題があります。ExternalInterfaceを使用してFlash関数を呼び出す
<p align="right">
<object type="application/x-shockwave-flash" data="camera.swf"
width="200" height="200" align="right" id="camSWF">
<param name="movie" value="camera.swf" align="right" />
<param name="allowScriptAccess" value="always" />
</object></p>
<script type="text/javascript">
var flashObj = document.getElementById('camSWF');
document.onmousemove = setMouseXY;
function setMouseXY(e) {
var x = e.pageX;
var y = e.pageY;
flashObj.rotateCam(x, y, $(document).width(), $(document).height());
}
</script>
そして第二に、ここでのActionScript 2のコードです:
まず第一に、ここではHTML/JS側です
ExternalInterface.addCallback('setMouseXY', null, rotateCam);
function rotateCam(mouseX, mouseY, docWidth, docHeight)
{
// DO STUFF
}
私の知る限り見ることができるように、すべてが動作するはずですが、しかし、明らかに私は何かが欠けている。
HTMLページ上のマウスイベントの火災は、私はFirebugの中で、このエラーが出るたび:
flashObj.rotateCam is not a function:
flashObj.rotateCam(x, y, $(document).width(), $(document).height());
私はかなりこだわっています。多分それは何らかのセキュリティの問題でしょうか?
またはActionScriptであなたは 'ExternalInterface.addCallback( 'rotateCam'、NULL、rotateCam)を使用することができます;' 現在のjavascriptのコードで動作するように。 – Diode
ええ、ありがとう。おそらく次回はもっと慎重にコードを読むべきでしょう – Alex