Flash/Flexアプリの上にHTMLコンテンツをオーバーレイできるか?

これまで長らくやっていなかった、というより避けていた、Flash/FlexアプリとHTMLコンテンツの混合をやる必要が出てきた。

はたして、Flexアプリの上にHTMLコンテンツをオーバーレイできるのか?「半分YESで、半分NOだ」ということがわかった。

Macでは、手持ちのブラウザですべて試してみたけど問題ない。しかしWindowsでは、Firefoxを除くどのブラウザでもHTMLコンテンツがFlexアプリの後ろに表示されてしまう。

この問題の解決は、Flashのembedタグのパラメーターで「wmode」を「transparent」にすれば解決できることがわかった。

しかしこのハックを使うと、今度は逆にFirefoxで問題が出てしまう。その他にも、日本語の入力に問題が出たり、マウスホイールが使えなくなったり、様々なサイドエフェクトが出てしまうようだ。

なんだかんだ言って、FirefoxはIEに次ぐシェアを持っているので無視するワケにはいかない。だからNOだ。このハックは2度と使わないだろう。

どうやら、FirefoxはFlashの読み込みが独特のようだ。Flash読み込み時にHTML上でdisplay:noneからdisplay:blockにした場合などでレイアウトが変わると2度読み込んだりする。

なんでFlashコンテンツの上にHTMLコンテンツをオーバーレイすることくらいが出来ないのか・・・・やっぱり、FlashはHTMLコンテンツではないんだなぁ。

コメント

  1. 苦労しましたよねぇ。
    クロスブラウザを実現するのは、しんどいですな。

    返信削除

コメントを投稿

このブログの人気の投稿

レオナルド・ダ・ビンチはなぜノートを「鏡文字」で書いたのか?

macでsmb(samba)共有サーバーに別名で接続(別アカウント名で接続)する方法

Google DriveにCURLでアップロードするには?