CSS меню не появляется поверх флеш
У меня есть раскрывающееся / многоуровневое меню CSS на странице. Тем не менее, меню не отображается поверх имеющейся у меня флеш-карты. Кажется, что исправить можно было бы добавить wmode: прозрачный (или непрозрачный), но это не работает для меня. Я также пытался установить z-уровень в CSS на очень высокие значения (2000), но это тоже не работает.
Кроме того, я использую open-flash-chart-v2 для генерации графика. (хотя я не думаю, что это имеет значение, но это ограничивает мою способность передавать переменные, поскольку я не использую тег embed или object напрямую).
<script type="text/javascript">
swfobject.embedSWF("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf", {"wmode" : "transparent"});
</script>
Страница, показывающая проблему (в настоящее время это не показывает попытку z-index исправить.)
2 ответа
Тег wmode установлен неправильно.
Вот правильный код:
<object width="100%" height="100%" style="visibility: visible;" id="chart" data="/ofc-library/open-flash-chart.swf" type="application/x-shockwave-flash"><param value="transparent" name="wmode"/></object>
Вот ваш код:
<object width="100%" height="100%" type="application/x-shockwave-flash" data="/ofc-library/open-flash-chart.swf" id="chart" style="visibility: visible;"><param name="flashvars" value="wmode=transparent"/></object>
В частности:
<param name="flashvars" value="wmode=transparent"/>
должно быть:
<param value="transparent" name="wmode"/>
Вот как это сделать правильно (обратите внимание на пустой хеш перед params. Wmode - это param, а не flashvar):
swfobject.embedSWF("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf", {}, {"wmode" : "transparent"})
Поскольку вы используете swfObject, попробуйте это:
var so = new SWFObject("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf");
so.addParam("wmode", "transparent");
so.write("flashcontent");