Возвращаясь к старому вопросу: как разместить что-либо поверх flash внутри html-страницы

Добавлено 05.10.2007 | Flash

Как многие знают, чтобы поместить нечто (выпадающее меню, блок текста и т.д.) поверх flash внутри html-страницы, нужно использовать атрибут/параметр wmode тэга object/embed -- после этого становится возможным управление глубиной флэш-клипа путем его вложения в div-контейнер и присвоения последнему значений глубины и абсолютного позиционирования.

Однако существует два недоразумения по этому поводу:

  1. Во-первых, часто считают, что перекрыть flash сверху якобы можно, используя значение transparent параметра wmode. Но, во первых, это не сработает в мозилло-подобных браузерах, а, во вторых, приведет к снижению производительности flash-клипа -- ведь на просчет прозрачности требуются ресурсы. Если вам нужно всего лишь поместить нечто поверх flash, то достаточно использовать значение wmode="opaque" -- и это работает везде.
  2. Второе заблуждение содержится в документации к flash. Там говорится следующее об атрибуте wmode: "This attribute/parameter works only in Windows with the Flash Player ActiveX control." Это следует понимать так, будто атрибут не должен был бы работать нигде, кроме IE под Windows. Однако, это не так!!! Как я писал выше, значение "opaque" работает во всех остальных современных браузерах: под Windows: Mozilla Firefox 1.0.7, Opera 8.51, про IE и так ясно. Под Mac'ом: работает и в Safari 1.0.3, и в Explorer 5.2.2 for Mac (про этот можно постепенно забывать, так как Microsoft заявила, что впредь IE будет только частью Windows. А что, так даже лучше).

Подводя итог: атрибут wmode дает возможность разместить html-блок (div, javascript-меню и т.д.) над flash-объектом, И ЭТО РАБОТАЕТ ВЕЗДЕ, достаточно только использовать значение opaque параметра "wmode":

<div style="position:absolute; z-index:1">
<object ... >
<param name="wmode" value="opaque">
<embed src="swf/gallery.swf" ... wmode="opaque" />
</object>
</div>
<div style="position:absolute; z-index:2">
Я ДивНомерДва, хочу закрыть собой ваш флєщъ
</div>

И это ОЧЕНЬ полезно, когда вы хотите прикрыть свой флэш хоть чем-нибудь во всех-всех-всех браузерах мира!