Как перекрыть flash

07.09.2012
Иногда флешь объекты (ролики, баннеры …) загораживают другие элементы на странице.
Чаще всего такое происходит при использовании «всплывающих окон» на JavaScript (JQuery или других фреймворках)

Многим кажется, что проблема в CSS свойстве z-index, но это не так!
И манипуляции с этим свойством ничего не дают.

Решение – использование параметра "wmode"

Если есть код:

1
2
3
4
5
6
7
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0">
    <param name="movie" value="Test.swf" />
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />

    <embed src="Test.swf" quality="high" bgcolor="#ffffff" width="100px" height="100px" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
</object>

То после добавления нужного параметра он будет выглядеть так:

1
2
3
4
5
6
7
8
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0">
    <param name="wmode" value="opaque">
    <param name="movie" value="Test.swf" />
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />

    <embed wmode="opaque" src="Test.swf" quality="high" bgcolor="#ffffff" width="100px" height="100px" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
</object>

Вместо "opaque" можно использовать "transparent", но это приведет к обработке объекта как прозрачного (при условии что он таковым не является) и снизит производительность браузера.


Категории: HTML
Яндекс.Метрика