株式会社マリエッタ

FlexでHTMLを表示

16 views
FlexでHTMLを表示するのは困難なため、IFrameというのを使って
擬似的にFlash上にHTMLを表示しているように見せかけられます。
FlashとHTMLを連携したければ、ExternalInterfaceでどうにか誤魔化したり。

IFrameが何をやっているかというと、swfを表示しているHTMLに、
動的にDIVやIFRAMEを作成してflashより上にHTMLを表示しています。
なのでflash側でAlertやポップアップなどを表示しても、IFrameで表示しているHTMLが
最前面に表示されてしまいます。

IFrameを使い始めたころ、Alertやポップアップとの表示切替を、SystemManagerの
addedイベントを拾ってAlertやポップアップが表示されたらIFrameを非表示に
切り替えるようにしたのですが、よくよくIFrameのソースを見てみたら、
そんな変数が用意されていました。。

publicのoverlayDetectionという変数があるので、こいつをtrueにしてあげれば
Flexのコントロールと重なったときに勝手に非表示にしてくれます。

IFrameに関しては賛否両論あるみたいですけど、どうしてもHTMLを使う必要がある時には
なかなか便利です。

Share / Subscribe
Facebook Likes
Tweets
Hatena Bookmarks
Pinterest
Pocket
Evernote
Feedly
Send to LINE