在flash对象上方显示图像

问题描述:

我在这里面临一个棘手的情况...这是问题...
我有一个Flash对象,我想要显示图像
这些是我试过的技巧...
1.使用z-index(不使用)
2.将wmode参数设置为透明/不透明(再次不使用)
3.仅在页面加载后才使用javascript并显示图像
我试过谷歌搜索,但发现没有解决方案.. :(
预先感谢

更新 -the代码我使用在flash对象上方显示图像

 <div style="position:absolute; top:0px; z-index:-2000;"> 
      <object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="176" height="146"> 
       <param name="movie" value="sample.swf" /> 
       <param name="wmode" value="transparent" /> 
       <param name="quality" value="High" /> 
       <param name="menu" value="false" /> 
       <embed src="sample.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="obj1" menu="false" width="176" height="146" /> 
      </object> 
     </div> 
     <div style="position:absolute; top:0px; z-index:2000;"> 
      <img src="Logo.gif" alt="" /> 
     </div> 

也试图与值=“不透明”
已经做了所有可能的建议......请帮助..

+0

您可能想要将“above”更改为“前面”或类似内容。 – 2010-02-05 07:00:06

+0

是的...闪光灯前的图像.. – ZX12R 2010-02-05 07:02:35

更新: 我知道这是任何一个或其他关于wmode,我选错了一个。不应该回答睡眠剥夺问题。我已经检查了它,并且wmode设置为透明你想要什么。它可以让你把HTML元素放在Flash对象上面。其次,嵌入闪存标准友好的方式,并使用swfobject

尝试在您的Flash中首先对鲜艳的div进行分层测试。另外,也许可以将图片代码移到Flash上​​方,看看结果如何。

最后,所有需要让你的代码工作,如上面用K总理提到的,是设置的wmode透明在嵌入标签以及

<div style="position:absolute; top:0px; z-index:-2000;"> 
    <object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="176" height="146"> 
     <param name="movie" value="/Images/WordOfLife.swf" /> 
     <param name="wmode" value="transparent" /> 
     <param name="quality" value="High" /> 
     <param name="menu" value="false" /> 
     <embed src="/Images/WordOfLife.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="obj1" wmode="transparent" menu="false" width="176" height="146" /> 
    </object> 
</div> 

<div style="position:absolute; top:0px; z-index:2000;"> 
    <img src="Logo.gif" alt="" /> 
</div> 
+0

谢谢...将检查出来..我已经试着用闪光的div .. – ZX12R 2010-02-05 11:06:32

+0

哇...是非常有用的...但它不能正常工作在Firefox .. :( – ZX12R 2010-02-05 11:36:56

+0

不,设置wmode透明不会强制Flash对象顶部。 要在Flash Player前面显示图像或任何HTML,您需要将wmode设置为不透明或透明。透明wmode也会在Flash对象的空白部分显示HTML,而不透明将显示Flash对象的背景颜色,隐藏Flash对象后面的任何内容。 离开wmode参数(使用默认wmode“窗口”)将使Flash Player接管在该部分屏幕上的渲染,并且浏览器无法在该区域渲染任何其他内容(在大多数浏览器中)。 – 2010-02-06 12:21:08

当您使用的z-index,确保两者的CSS位置(IMG和flash对象)被设定为相对的或绝对的:

.imgAboveFlash { 
    position: relative; 
    z-index: 10; /* higher than that of flash object */ 
} 

和Flash对象的WMODE设置为不透明

确保父元素 html元素的位置设置为相对

+0

都是绝对定位的元素... – ZX12R 2010-02-05 07:04:10

+0

结合透明/不透明的wmode? – davydepauw 2010-02-05 07:08:23

+0

不......分别尝试它们...... – ZX12R 2010-02-05 08:17:03

我完全在CSS中做了一个HTML菜单下拉菜单,并且Flash对象始终位于每个下拉菜单的顶部。

所以,这就是我所做的。使Flash wmode不透明。

对于你的情况,使闪存对象wmode不透明,并给出一个z-index高于flash对象的z-index(尝试1000以“保证”更高的位置)。

+0

试过了...仍然没有希望改变.. :( – ZX12R 2010-02-05 09:40:07

我猜你的代码在IE工作正常,但不是在FF - 增加一个wmode参数去你embed还有:

<embed 
    src="/Images/WordOfLife.swf" 
    pluginspage="http://www.macromedia.com/go/getflashplayer" 
    type="application/x-shockwave-flash" 
    name="obj1" 
    menu="false" 
    width="176" 
    height="146" 
    embed="transparent" 
/> 
+0

我不确定如果我完全理解你..但是当我试过以上它根本不起作用...闪存对象不显示.. !! – ZX12R 2010-02-05 12:39:11

+0

@ ZX12R - 我的意思是,只需更改代码的'embed'部分,并保留'object'位 – 2010-02-06 07:56:58

将wmode设置为像上面那样透明,但将您的内容放入iframe中。刚刚解决了我的问题:http://argyleink.com/dieantsdie/