ActionScriptとJavascriptで連携するために用意されているExternalInterfaceですが、本日はこれに3時間ほどはまりました(汗)
事象としては、Firefoxで「○○is not a function.」というエラーが返ってきてActionScriptで定義した関数がコールできないという症状です。
事象としては、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用のブログも起こそうっと。
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用のブログも起こそうっと。


コメントする