Comunidad de diseño web y desarrollo en internet online

Se superponen los swf en el html (problema)

Citar            
MensajeEscrito el 04 Abr 2008 06:08 pm
Que tal?!... Cómo están todos? yo volviendome loco con un problema que tengo en con SWFs.. este sería el problema:
Tengo un sitio diseñado en ASP, en el cual hay banners que son de formato swf. Ahora, tengo que poner un popup flotante en la web en forma tal que quedaría por encima de estos banners. Lo que hago yo es poner el popup de formato swf dentro de un DIV PA para poder moverlo dinamicamente. Hasta acá todo bien, el problema comienza cuando lo veo en la web. Los banners swf aparecen por arriba del popup dentro del DIV. Tanto en IE como en FIREFOX... lo raro es que en una MAC no me hace eso (solo lo probé con safari).
Halguien sabe cual puede ser el problema...
Me gustaria ponerles el ejemplo pero el sitio no puedo publicarlo hasta no estar todo el trabajo terminado. Lo que puedo hacer es poner el código del popup dentro del DIV:

Código :

<!-- -------------------Popup inicio-------------------- -->
<style type="text/css">

.swfcentro {
position: absolute;
top: 50%;
left: 50%;
margin-top: -50px;
margin-left: -50px;
}

</style>


<script>
if(muestraoculta != 'o') {
document.getElementById(nombrediv).style.display = '';
}



function muestra(nombrediv, muestraoculta) {

if(muestraoculta == 'o') {
document.getElementById(nombrediv).style.display = 'none';
}

}
</script>


<div id="popup" style="padding:2 2 2 2px; position:absolute; left: 159px; top: 176px; background-repeat: no-repeat; width: 600px; height: 418px; z-index: 3;" class="swfcentro" >



<div id="cerrararriba" align="center" style="font-weight:bold; background-color: #000000; font-family:arial,verdana; font-size:8pt; line-height:18px; height: 18px; padding-left:5px; text-align:left;">

<a href="#" class="Estilo1" onClick="muestra('popup', 'o')" >[ X ]</a></div>




<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','600','height','400','src','EncuestaPopUp','wmode','transparent','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','EncuestaPopUp' ); //end AC code
</script>
<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="600" height="400">
<param name="movie" value="EncuestaPopUp.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<embed src="EncuestaPopUp.swf" wmode="transparent" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="600" height="400"></embed>
</object>
</noscript>
</div>

<!-- -------------------Popup fin-------------------- -->



Está medio desprolijo, hubo varias manos en este plato...

Espero que puedan encontrar una solución...gracias :D

Por Flater

16 de clabLevel



 

Buenos Aires; Argentina

firefox
Citar            
MensajeEscrito el 04 Abr 2008 07:56 pm
Gente, encontré la solución... no encontré nada en la web así que empecé a realizar infinitas y molestas pruebas hasta dar con lo que buscaba...
Les dejo la solución para el que lo necesite..

Lo que esta en negrita hay que sacarlo de todos los swf que molesten y a cada uno hay que agregarle "wmode" en los lugares que corresponden.

<script type="text/javascript">

AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','600','height','400','src','EncuestaPopUp','wmode','transparent','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','EncuestaPopUp' ); //end AC code

</script>

<noscript>


<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="600" height="400">

<param name="movie" value="EncuestaPopUp.swf" />

<param name="quality" value="high" />

<param name="wmode" value="transparent" />

<embed src="EncuestaPopUp.swf" wmode="transparent" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="600" height="400"></embed>

</object>

</noscript>

</div>


Gracias por todo! :wink:

Por Flater

16 de clabLevel



 

Buenos Aires; Argentina

firefox
Citar            
MensajeEscrito el 04 Abr 2008 09:40 pm
Esto está infinitamente explicado en estos foros.
Y buscando en Google, habrías tardado CERO-COMA-CERO en encontrar la solución.

Flash, necesita del wmode="transparent" para poder renderizar debajo de los elementos del xHTML del tipo "no-ventana".
De todas maneras, ya te adelanto que el wmode="transparent" da numerosísimos y muy documentados problemas, porque ADOBE no ha hecho bien su trabajo.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 07 Abr 2008 04:59 am
jeje... si es verdad Rizome!! ...hubiera tardado menos que eso (se puede?..je) Lo que pasa es que no necesitaba buscar el tema del wmode porque lo sabía desde hace uno o más años, es más, en el primer código que puse figura las lineas con el "wmode", osea que eso lo tuve en cuenta desde un principio. Pero poniendo eso solamente no pasaba nada, hasta que descubrí (casi de casualidad porque no soy programador, sino que toco de oido, je) que habia que borrar eso que puse en negrita. Por qué? ..la verdad todavía no tuve tiempo de investigarlo..solo se que haciendo eso pude poner online eso que necesitaba que era urgente en la empresa en la que trabajo. Y ya había leido los problemas que traía el wmode.. pero bue, los expliqué en su momento a la empresa pero no importó.. asi que no quedó otra que hacerlo dado a que los tiempos dentro de una empresa a veces no son suficientes para poder encontrar otra solución; lamentablemente.

Gracias igual por tu comentario!...

Saludos...
:D

Por Flater

16 de clabLevel



 

Buenos Aires; Argentina

firefox
Citar            
MensajeEscrito el 07 Abr 2008 08:27 am
Cierto, no era lo que creía...
Por lo visto... lo que has hecho, es quitar la generación del Flash por Javascript, y dejar que sea el html (noscript) el que ponga el flash... ¿verdad?

La verdad, que como no domino el mundo del FLASH, no sé porqué se usa javascript para poner las presentaciones flash... cuando se puede hacer símplemente desde el HTML.

Y al parecer, el problema en tu caso... estaba en la generación "dinámica" del objeto flash, pues el mismo flash, puesto por HTML, no da problemas.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 07 Abr 2008 12:54 pm
Ese javascript es para que en internet explorer no te salga el molesto marco negro alrededor de la pelicula, y tengas que hacer click para activar el swf.
Un saludo.

Por bydaface

303 de clabLevel

1 tutorial

 

Barcelona, Spain

firefox
Citar            
MensajeEscrito el 07 Abr 2008 02:29 pm
Es verdad... hoy mismo he leído sobre eso... xD

CURIOSIDAD:
Se debe a un juicio que perdió Microsoft contra EOLAS, el que registró el sistema de "autoreproducir" los objetos embebidos en las páginas WEB. Debido a dicha sentencia, Microsoft tuvo que "desactualizarse", y quitar las "autoreproducciones".
Al parecer, ese parche que usas, hace que se puedan usar de nuevo las "autoreproducciones" en IE.


DUDA:
Pero digo yo... si eso sólo afecta a Internet Explorer... ¿no sería mejor que el script sólo funcionara en IE?
¿para qué llamarlo también desde Mozilla?
¿No podría funcionar así?
<!--[if IE]>
<script type="text/javascript">
AC_FL_RunContent( parametros );
</script>
<![endif]//-->
<!--[if !IE]>//-->

<object classid="clsid:..." codebase="http://download.macromedia.com/pub/shockwave/cabs/..." width="600" height="400">
<param name="movie" value="EncuestaPopUp.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<embed src="EncuestaPopUp.swf" wmode="transparent" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi..." type="application/x-shockwave-flash" width="600" height="400"></embed>
</object>
<!--[endif]//-->

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.