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で配置する要素だったのでこれでもよいかなぁと。

トラックバック(0)

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

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

コメントする

2008年8月

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

ウェブページ

このブログ記事について

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

次のブログ記事は「FLVPlaybackのイベントを使いこなしたい」です。

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