ExternalInterfaceのaddCallbackが効かない

ActionScriptとJavascriptで連携するために用意されているExternalInterfaceですが、本日はこれに3時間ほどはまりました(汗)
事象としては、Firefoxで「○○is not a function.」というエラーが返ってきてActionScriptで定義した関数がコールできないという症状です。
▼参照
Adobe - デベロッパーセンター : 外部APIを使用したFlashとJavaScriptの接続
http://www.adobe.com/jp/devnet/flash/articles/external_interface_06.html

こちらでExternalInterfaceの使用方法が参照できます。

【解決!】ExternalInterfaceにハマる (Nega Diary)
http://www.ironhearts.com/diary/archives/2007/03/uoeuexternalinterfaceeeieee.html

最初はこれかなとも思ったけど、以前から参照させてもらっていた情報だったのでこの誤りでもなく。

▼原因
スタイルシートでdisplay:noneしたブロック内にFlashを配置したのですが、どうやらdisplay:noneしてしまうとJavaScriptがFlashを見失ってしまうらしい。
コールする前にdisplay:blockにも当然してみましたがどうやら駄目。

▼解決策
仕方がないのでdisplay:noneは使わずにleft:-9999pxでいったん吹っ飛ばして、コールする前に正規の位置に移動させることにしました。
もともとabsoluteで配置する要素だったのでこれでもよいかなぁと。

微妙な仕様だなぁ。

って、これ日々の情報のまとめっていうよりもFlash用ブログネタだな。
早くFlash用のブログも起こそうっと。

トラックバック(0)

このブログ記事を参照しているブログ一覧: ExternalInterfaceのaddCallbackが効かない

このブログ記事に対するトラックバックURL: http://www.2nd-pla.net/mt/mt-tb.cgi/10

コメントする

このブログ記事について

このページは、dIkeが2008年3月17日 23:46に書いたブログ記事です。

ひとつ前のブログ記事は「Photoshopのブラシやアクション」です。

次のブログ記事は「本日のビジネススキル情報」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。