最近、仕事でだが、FlexでIFrameを使用している。
このIFrameってのは、Flex上で指定したURLを表示するコンポーネントである。割と有名。
Flex Coderにも以前に紹介されていた。
Flex内でIFrameを埋め込むサンプルです。連動します。 Flexの中にIFrameでHTML
実際の配布先はこちら。
http://www.deitte.com/archives/2006/08/finally_updated.htm
デモ
http://www.deitte.com/IFrameDemo3/IFrameDemo.html
で、今回はまった罠。Flashplayerのwmodeオプション指定でした。
ダウンロードしたIFrameDemo.htmlを参照するとわかるが、wmode='opaque'という指定をしています。この、wmodeってオプションがなかなかの曲者のようです。ググったりするとわかるが、これを指定すると日本語入力がおかしくなります。
確かに以前のバージョンのFlash Playerや、FirefoxのFlash Playerでは、wmodeの指定をしないと、IFrame部分の描画がうまくいきません。
ただ、IEだとFlash Player10とかでは、wmode指定なしでも問題なく動作するようです。
試しにサンプルを作ってみたので動作させてみるとわかると思います。
wmodeを指定したバーションです。URL入力欄に日本語を入力しようとするとIEでは、別な場所に変換中の文字列が表示されます。Firefoxなんかだと、日本語入力すら出来ません。
IMEをオフにしてから、url欄に適当なURLを入力して表示ボタンをおすとIFrame部分に指定したURLの内容が表示されます。
次にwmodoをしていないサンプルです。このバージョンでは、URL欄に普通に日本語入力が可能です。ただし、Firefoxなんかだと、IFrameの描画がおかしくなったりします。
この辺の問題で、少しハマりました。いあ、Firefoxでの問題は解決してないので、完全に解決したとは言えないんですが・・・。


FlexでIFrameの罠