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

07.09.2012 18:22:50
Иногда флешь объекты (ролики, баннеры …) загораживают другие элементы на странице.
Чаще всего такое происходит при использовании «всплывающих окон» на 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
Яндекс.Метрика