2010-02-05 19 views
6

Me encuentro ante una situación complicada aquí ... este es el problema ...
Tengo un objeto flash sobre el que quiero mostrar una imagen
Estos son los trucos que probé ...
1.Playing con z-index (sin uso)
2.Ajustando el parámetro wmode a transparente/opaco (de nuevo sin uso)
3.Using javascript y la visualización de imagen sólo después de que se carga la página (todavía no uso)
probé googlear pero no se encontraron soluciones .. :(Gracias de antemano


actualización -el código que estoy utilizandoMostrar la imagen encima del objeto 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> 

también trató con value = "opaco"
han hecho todas las sugerencias posibles ... pls ayudan ..

+0

Es posible que desee volver a expresar "arriba" como "en frente de" o algo similar. –

+0

sí ... la imagen delante del flash ... – ZX12R

Respuesta

6

Actualización: sabía que era una o la otro con respecto a wmode, elegí el equivocado. No debería haber respondido una pregunta que sufre de falta de sueño. He comprobado ahora y wmode fijada a transparente es lo que quiere. Le permite colocar elementos HTML encima de objetos Flash.

En segundo lugar, incrustar las normas de manera amistosa, y el uso swfobject.

Trate capas de un div de colores brillantes sobre flash primero para la prueba. Además, quizás mueva el código de imagen sobre el Flash y vea cómo funciona.

Por último, todo lo que se necesita para obtener su código para trabajar, como se mencionó anteriormente por K Prime, es el establecimiento de wmode a transparente en su etiqueta embed, así.

<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

gracias ... lo comprobaré ... ya lo estoy probando con un div sobre flash ... – ZX12R

+0

wow ... fue muy útil ... pero no funciona correctamente en firefox .. :( – ZX12R

+0

No, configuración wmode a transparente no lo hará fuerza el objeto Flash a la parte superior. Para mostrar imágenes, o cualquier HTML, delante de Flash Player, debe configurar wmode como opaco o transparente. wmode transparent también mostrará HTML detrás de las partes vacías del objeto Flash, mientras que opaque mostrará el color de fondo del objeto Flash, ocultando cualquier cosa detrás del objeto Flash. Salir del parámetro wmode (usando la "ventana" wmode predeterminada) hará que Flash Player se encargue de la representación en esa parte de la pantalla y el navegador no podrá procesar nada más en esa área (en la mayoría de los navegadores). –

0

Cuando se utiliza el índice z, asegúrese de que la posición de CSS de ambos (el img el objeto flash) se establece en relativa o absoluta:

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

y establecer el wmode del objeto flash para opaco.

Asegúrese de que el elemento de matriz html tiene su posición relativa a establecer .

+0

ambos son elementos perfectamente posicionados ... – ZX12R

+0

¿En combinación con el wmode transparente/opaco? – davydepauw

+0

no ... las probé por separado ... – ZX12R

0

Me hicieron un menú desplegable HTML puramente en CSS y los objetos Flash fue siempre en la parte superior de cada menú desplegable.

lo tanto, aquí es lo que hice. Convierta Flash wmode en opaco.

Para su caso, haga que el objeto flash wmode sea opaco y dé a la imagen un índice z más alto que el índice z de un objeto flash (pruebe 1000 para "garantizar" una posición más alta).

+0

lo intenté ... aún no hay esperanza de cambios .. :( – ZX12R

1

supongo que su código funciona bien en IE, pero no en FF - añadir un parámetro wmode a su embed así:

<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

no estoy seguro si te entendí completamente ... pero cuando intenté lo de arriba, no funciona en absoluto ... el objeto flash no se muestra ... !! – ZX12R

+0

@ ZX12R - Quiero decir, simplemente cambie la parte 'embed' de su código, y conserve los bits'objeto' –