Foros del Web » Creando para Internet » Flash y Actionscript »

Ayuda con código.

Estas en el tema de Ayuda con código. en el foro de Flash y Actionscript en Foros del Web. Hola a todos, les cuento que utilice el elemento swobject para eliminar el marco molesto que aparece al cargar algo hecho en flash, sin embargo ...
  #1 (permalink)  
Antiguo 27/04/2007, 13:51
 
Fecha de Ingreso: octubre-2003
Ubicación: Bogotá Colombia
Mensajes: 183
Antigüedad: 14 años, 1 mes
Puntos: 0
Ayuda con código.

Hola a todos, les cuento que utilice el elemento swobject para eliminar el marco molesto que aparece al cargar algo hecho en flash, sin embargo la página html que trae el swf y llama el js SwObject, se lee perfectamente en explorer, pero en Mozilla Firefox muestra una ventanita muy pequeña donde se carga la página. para hacer esto un poco más comprensible este es el código del html:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>::Mi pagina WEB::</title>
<script type="text/javascript" src="script/swfobject.js"></script>
<style type="text/css">
<!--
.Estilo1 {color: #FFFFFF}
-->
</style>
</head>
<body bgcolor="#000000">
<div align="center" id="flashcontent">

  <p><span class="Estilo1"><strong><span class="Estilo1"> Esta Pagina Requiere Flash Player 8 O Superior</strong>.<br />
  Ingresa a http://www.adobe.com para descargar el visor</span></span></p>
	</div>

<span class="Estilo1">
    </span>	
    <script type="text/javascript">
var so = new SWFObject("index.swf", "inicio", "100%", "100%", "8", "#f0f0f0");
so.write("flashcontent");
		</script>
	
</body>
</html> 
Como pueden ver al final llamo el swf y le digo que se muetre a un tamaño de 100%x100% para que se acomode a cualqueir resolución de pantalla, este ejemplo lo tome del blog de Muela de DarkskullDA. Pero cuando pruebo esto en Mozilla, pues el tamaño del swf no lo toma y lo muestra muy pequeño.
Alguien sabe a que se deba esto?
Saludos,
__________________
Juan Pablo Bernal
Web Master
  #2 (permalink)  
Antiguo 27/04/2007, 14:03
 
Fecha de Ingreso: mayo-2006
Mensajes: 64
Antigüedad: 11 años, 6 meses
Puntos: 0
Re: Ayuda con código.

hola amigo, se como solucionar el recuadro flash

Primero debes de crear dos documentos que sean extension JS. el primero con este codigo:


Este se llamará: embeddedcontent.js

var jActivating =
{

// Checks for Internet Explorer
isMSIE : (document.all && !window.opera) ? true : false,


/**
* Activates embedded content reinserting it
* @return void
*/
reinsertContent : function()
{
var totalNodes = new Array(3);
totalNodes['object'] = document.getElementsByTagName('object').length;
totalNodes['embed'] = document.getElementsByTagName('embed').length;
totalNodes['applet'] = document.getElementsByTagName('applet').length;
for(var tagName in totalNodes)
{
var counter = totalNodes[tagName] - 1;
for(var node; node = document.getElementsByTagName(tagName)[counter]; counter--)
{
sourceCode = jActivating.getSourceCode(node);
if(sourceCode)
{
node.outerHTML = sourceCode;
}
}
}
jActivating.isMSIE = null;
},


/**
* Retrieves the object and its content in HTML.
* @param object - The analyzed node
* @return string - The HTML received, NULL for malformed syntax (end tag)
*/
getSourceCode : function(node)
{
var sourceCode = node.outerHTML;
switch(node.nodeName.toLowerCase())
{
case 'embed':
return sourceCode;
break;
case 'object':
case 'applet':
var openTag = sourceCode.substr(0, sourceCode.indexOf('>') + 1).toLowerCase();
var closeTag = sourceCode.substr(sourceCode.length - 9).toLowerCase();
if(closeTag != '</object>' && closeTag != '</applet>')
{
// Filters malformed syntax for avoid unexpected results in Internet Explorer
return null;
}
if(jActivating.isMSIE)
{
var innerCode = jActivating.getInnerCode(node);
sourceCode = openTag + innerCode + closeTag;
}
return sourceCode;
break;
}
},


/**
* Retrieves the HTML between start and end tags of the object.
* @param object - The analyzed node
* @return string - The HTML received
*
* NOTE: the innerHTML property isn't used because Internet Explorer
* sometimes returns a empty result.
*/
getInnerCode : function(node)
{
var innerCode = '';
var totalChilds = node.childNodes.length - 1;
for(var counter = totalChilds, child; child = node.childNodes[counter]; counter--)
{
innerCode += child.outerHTML;
}
return innerCode;
}

}


// Execute script only for Internet Explorer and Opera (9+)
if(document.attachEvent)
{
if(window.opera)
{
document.attachEvent("DOMContentLoaded", jActivating.reinsertContent);
}
else
{
jActivating.reinsertContent();
}
}

En el segundo insertarás este codigo y se llamará: embeddedcontent_min.js

var jActivating = { isMSIE : (document.all && !window.opera) ? true : false, reinsertContent : function()
{ var totalNodes = new Array(3); totalNodes['object'] = document.getElementsByTagName('object').length; totalNodes['embed'] = document.getElementsByTagName('embed').length; totalNodes['applet'] = document.getElementsByTagName('applet').length; for(var tagName in totalNodes)
{ var counter = totalNodes[tagName] - 1; for(var node; node = document.getElementsByTagName(tagName)[counter]; counter--)
{ sourceCode = jActivating.getSourceCode(node); if(sourceCode)
{ node.outerHTML = sourceCode;}
}
}
jActivating.isMSIE = null;}, getSourceCode : function(node)
{ var sourceCode = node.outerHTML; switch(node.nodeName.toLowerCase())
{ case 'embed':
return sourceCode; break; case 'object':
case 'applet':
var openTag = sourceCode.substr(0, sourceCode.indexOf('>') + 1).toLowerCase(); var closeTag = sourceCode.substr(sourceCode.length - 9).toLowerCase(); if(closeTag != '</object>' && closeTag != '</applet>')
{ return null;}
if(jActivating.isMSIE)
{ var innerCode = jActivating.getInnerCode(node); sourceCode = openTag + innerCode + closeTag;}
return sourceCode; break;}
}, getInnerCode : function(node)
{ var innerCode = ''; var totalChilds = node.childNodes.length - 1; for(var counter = totalChilds, child; child = node.childNodes[counter]; counter--)
{ innerCode += child.outerHTML;}
return innerCode;}
}
if(document.attachEvent)
{ if(window.opera)
{ document.attachEvent("DOMContentLoaded", jActivating.reinsertContent);}
else
{ jActivating.reinsertContent();}
}

ya por último debes de insertar este código en el head de tu pagina en donde cargas los swf y listo, no tienes que hacer nada mas que esto...

<script type="text/javascript" src="embeddedcontent.js" defer="defer"></script>

La prueba es en esta pagina, mía por cierto: www.mas-creativos.com funka con iexplorer y mozilla revien...
  #3 (permalink)  
Antiguo 27/04/2007, 14:10
Avatar de DarkskullDA  
Fecha de Ingreso: julio-2006
Mensajes: 698
Antigüedad: 11 años, 5 meses
Puntos: 13
Re: Ayuda con código.

bueno a mi me corren bien todas mis pelis y las q e visto con flahsObject..

si puedes dejar tu link de tu swf q se ve mal para chechar solamente xD

weno y como se explica
Código:
var so = new SWFObject(”inicio.swf”, “inicio”, “600″, “650″, “8″, “#333333″);
so.write(”flashcontent”);
en 600=va el ancho
y 650= el largo...


suerte ^^
__________________
Curso Desarrollo De Aplicaciones IFrame Para Facebook Conoce la Graph Api, Javascript/PHP SDK, Dialogos, Pestañas, entre otros.
  #4 (permalink)  
Antiguo 27/04/2007, 14:16
 
Fecha de Ingreso: octubre-2003
Ubicación: Bogotá Colombia
Mensajes: 183
Antigüedad: 14 años, 1 mes
Puntos: 0
Re: Ayuda con código.

Hola DarksKullDA, mira la página que se ve mal en mozilla es www.relojcolombia.com/index1.html esta hecha toda en flash y bueno en lugar del tamañoq ue pones en tu ejemplo puse:
var so = new SWFObject(”inicio.swf”, “inicio”, “100%″, “100%″, “8″, “#333333″);
so.write(”flashcontent”);
Para que sea autoampliable.
Gracias a J2Medina por su respuesta también. Se que este link va a ser muy leído.
Saludos,
__________________
Juan Pablo Bernal
Web Master
  #5 (permalink)  
Antiguo 04/05/2007, 12:10
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 14 años
Puntos: 13
Re: Ayuda con código.

J2medina: ojo que el código de embeddedcontent.js y embeddedcontent_min.js hacen lo mismo; la diferencia es que en el segundo el código está comprimido para bajar el peso del archivo, mientras que en el primero el código está tal cual dios lo trajo al mundo :P

http://jactivating.sourceforge.net
__________________
El conocimiento es libre: Movimiento por la Devolución
  #6 (permalink)  
Antiguo 04/05/2007, 12:18
 
Fecha de Ingreso: octubre-2003
Ubicación: Bogotá Colombia
Mensajes: 183
Antigüedad: 14 años, 1 mes
Puntos: 0
Re: Ayuda con código.

Gracias a todos por su respuesta, investigando un poco más me di cuenta que el problema es al darle el tamaño de 100%x100% pues mozilla no lo reconoce, al cambiar esa medida por 800x600 todo vuelve a la normalidad.

Alguien sabe otra forma de llamar un swobject y al mismo tiempo darle un parámetro de 100%X100% a una peli de flash y que además sea ompatible con los navegadores?.

Gracias de antemano.
__________________
Juan Pablo Bernal
Web Master
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:45.