CSS 菜单不会出现在 Flash 上
Posted
技术标签:
【中文标题】CSS 菜单不会出现在 Flash 上【英文标题】:CSS Menu does not appear over flash 【发布时间】:2010-10-16 07:03:30 【问题描述】:我在页面上有一个下拉/多级 CSS 菜单。然而,菜单并没有出现在我拥有的闪存图表上。 明显的解决方法似乎是设置 wmode:transparent(或 opaque),但这对我不起作用。我还尝试将 CSS 中的 z-level 设置为非常高的值(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>
Page showing problem(这目前不显示 z-index 尝试修复。)
【问题讨论】:
【参考方案1】:wmode 标签设置不正确。
这是正确的代码:
<object style="visibility: visible;" id="chart" data="/ofc-library/open-flash-chart.swf" type="application/x-shockwave-flash"><param value="transparent" name="wmode"/></object>
这是您的代码:
<object 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"/>
这里是正确的做法(注意参数前的空哈希。wmode 是参数而不是 flashvar):
swfobject.embedSWF("/ofc-library/open-flash-chart.swf", "chart", "100%", "100%", "9.0.0", "expressInstall.swf", , "wmode" : "transparent")
【讨论】:
提示:只有在您确实需要 SWF 透明时才使用 wmode transparent。 wmode opaque 应该同样适合您的需求,并且消耗更少的系统资源。它也比 wmode transparent 少得多。【参考方案2】:因为你使用的是 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");
【讨论】:
以上是关于CSS 菜单不会出现在 Flash 上的主要内容,如果未能解决你的问题,请参考以下文章
CSS 菜单仅在 IE (SWFObject) 中隐藏在 flash 后面