Wordpress WebページとActionscript 2 FlashムービーでJSを相互にやり取りしようとしています。その試みは惨めに失敗しています。コールバックを設定した関数を呼び出そうとするたびに、ブラウザのエラー コンソールに「..... は関数ではありません」というメッセージが表示されます (Firefox 20 を使用しています)。
設定方法は次のとおりです。
このページは少し変わっており、インライン JavaScript を使用した Wordpress ページです。メインの JavaScript は、Flash オブジェクトをロードするコードの jQuery.ready() ブロックです (これは、URL の GET パラメータを Flash に渡すことができるようにするためです)。読み込まれると、次のリンクがあります。
<a href="javascript:jQuery('#fmap')[0].setRegion('regiona');">Region A</a>
一方、フラッシュオブジェクトには、これを可能にするためにこれが含まれています。
import flash.external.ExternalInterface;
System.security.allowDomain("thisdomain.com"); // the domain on which the flash is hosted
ExternalInterface.addCallback("setRegion", null, switchZone); //switchZone is the function's internal name
フラッシュのコンテナーでは allowScriptAccess が「always」に設定されており、jQuery ステートメントが適切なターゲットに到達していることを確認できます。ただし、フラッシュ オブジェクトがデバッグされると、addCallback は false を返します。これは失敗したことを示しています。何が起こっているのか誰にも考えがありますか?