Я использую Flash 10.3 в Firefox 7 и Chrome 14. У меня есть некоторый контент HTML и Flash, где Flash, содержащий сложные векторные рисунки с прозрачным фоном, наслоен поверх HTML. Я использую Flashes wmode = прозрачный параметр, чтобы позволить HTML-контенту внизу быть видимым через Flash.
Мой код выглядит так:
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<object
classid="D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"
width="432"
height="432"
id="myel"
align="top">
<param name="movie" value="myflash.swf" />
<param name="allowScriptAccess" value="always" />
<param name="bgcolor" value="#FFFFFF" />
<param name="base" value="." />
<param name="wmode" value="transparent" />
<param name="flashvars" value="mydata" />
<embed
swliveconnect="true"
src="myflash.swf"
base="."
quality="high"
bgcolor="#FFFFFF"
width="800"
height="800"
wmode="transparent"
name="myel"
align="top"
allowscriptaccess="always"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"
flashvars="mydata" />
</object>
<div>my layered content shown underneath flash</div>
</body>
</html>
В предыдущих версиях браузеров это работало идеально. Это все еще отлично работает в IE7 / 8. Однако в последних версиях Chrome и Firefox Flash больше не является прозрачным, несмотря на мой параметр wmode = transparent. Почему это?
Я гуглил, и было множество ошибок отчетов за все это время происходило в Chrome и Firefox, но ни одно из предложенных решений работал на меня.
Поскольку эта проблема возникла только в последних версиях браузера и может быть проблемой в IE9, я подозреваю, что проблема связана с новой интерпретацией тега в поддержке HTML5 в этих браузерах, но я не могу подтвердить что.
Как заставить Flash надежно поддерживать прозрачность, чтобы его можно было накладывать поверх HTML-содержимого в Chrome и Firefox?