Flashよりも前面にポップアップを表示する
JavaScriptでポップアップを表示する時(Lightboxとかページ内でポップするやつ)にflashの上に表示しようとすると なぜかflashの背面に表示されてしまうことがあるので解決方法のメモ。 (Greasemonkeyスクリプト書いてるときに少し詰まった。)
一つ目の方法 Flushの前面にページの領域を表示する – Ulmhaftで紹介されているように cssでポップアップする領域(divとか)を
position:fixed; overflow:auto;
とすればflashより前面に表示されるみたいです。
二つ目の方法 こちらはflashの表示タグに変更を加える方法 参考web-conte.com | blue | Lightbox JS v2.0 と Flash
<!-- object要素内に下記を追加 --> <param name="wmode" value="transparent" /> <!-- embed要素に下記の属性を追加 --> wmode="transparent"
のようにembedタグに要素を加えるとflashより上に表示できる。 javascriptなら addParam(“wmode”, “transparent”); しかし、この方法はflash内のテキストフィールドに日本語を打てなくなるとういう欠点があります。
wmode を transparent に設定した際の注意点 他にいい方法はあるのかな?
後は考えられるのはflashをdivなどのコンテナで囲んで、表示非表示を切り替える方法。
この方法は毎回flashの再生がスタート地点に戻るので使いづらいかも。
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。