如何防止 Javascript 菜单隐藏在 Flash 视频 (SWFObject) 下
Posted
技术标签:
【中文标题】如何防止 Javascript 菜单隐藏在 Flash 视频 (SWFObject) 下【英文标题】:How to prevent Javascript Menu from getting hidden under Flash Video (SWFObject ) 【发布时间】:2010-11-08 02:05:09 【问题描述】:如何防止 javascript 菜单隐藏在 Flash Video (SWFObject) 下。
我正在使用 Open Flash Chart,该图表在我的 php 购物车中显示良好,但我的 javascript 菜单隐藏在 Flash Chart 后面。
如何解决这个问题?
这是我的脚本代码:
<script type="text/javascript">
swfobject.embedSWF(
"open-flash-chart.swf", "Dashboard_Chart",
"800", "400", "9.0.0", "expressInstall.swf",
"data-file":"ofc-chart.php" );
</script>
更新(已解决):
我找到了解决办法。
这是我的新代码,它可以正常工作,并且菜单显示正常。
<script type="text/javascript">
var flashvars = ;
var params = ;
params.wmode = "opaque";
var attributes = ;
swfobject.embedSWF("../swf/open-flash-chart.swf", "Dashboard_Chart", "760", "300", "9.0.0", "expressInstall.swf", "data-file":"ofc-chart.php", flashvars, params, attributes );
</script>
【问题讨论】:
根据 SO 的理解,我建议您将解决方案添加为答案,并将其标记为正确答案。 嗯,我已经在下面标记了答案。 @Ibn Saeed 抱歉回顾过去。但是我现在在 Chrome 中遇到了这个问题,这个解决方案不起作用。你现在有问题吗?检查jttech.com.hk/design.php感谢您的关注。 @Jake,我已经超过 1 年没有做这个了。我没有它的代码了。很抱歉没有提供任何帮助 @Ibn Saeed 非常感谢您的回复 =) 我只是在试试运气,以防您仍在创建网站。谢谢! 【参考方案1】:尝试将 wmode 参数设置为透明
swfobject.embedSWF("open-flash-chart.swf", "Dashboard_Chart","800", "400", "9.0.0",
"expressInstall.swf",
"data-file":"ofc-chart.php",
"wmode":"transparent"
);
【讨论】:
谢谢,您的解决方案也有效。而且它不那么冗长:)【参考方案2】:您需要将 wmode 设置为不透明(或透明)。这将渲染委托给浏览器并允许 z-index 元素位于 Flash 内容之上。示例:
<script type="text/javascript">
var flashvars = ;
var params = ;
params.wmode = "transparent";
//params.wmode = "opaque";
var attributes = ;
swfobject.embedSWF("myContent.swf", "myContent", "300", "120",
"9.0.0","expressInstall.swf", flashvars, params, attributes);
</script>
有许多缺点,例如国际化中断和渲染速度较慢,但它会在您的菜单下获得 Flash。
【讨论】:
我使用了不透明的,我没有注意到闪光灯有任何延迟。 adobe 帮助显示:#Opaque:使应用程序隐藏页面上的所有内容。 ----- #Transparent:使 html 页面的背景通过应用程序的所有透明部分显示出来,并且会降低动画性能。以上是关于如何防止 Javascript 菜单隐藏在 Flash 视频 (SWFObject) 下的主要内容,如果未能解决你的问题,请参考以下文章