Comunidad de diseño web y desarrollo en internet online

Abrir url en ventanas emergentes........MUY IMPORTANTE

Citar            
MensajeEscrito el 17 Abr 2009 12:17 pm
Hola a todos chicos!!! Vuelvo a dar guerra y a molestaros un poco! Tengo un problema bastante grande que me empieda a preocupar y necesito vuestra ayuda si es posible pronto, y sino es pronto, tambien la necesito... :P

Estoy desarrollando una aplicacion en flas CS3 con AS3. Mi aplicacion se basa en el uso de ventanas emergentes al estilo de estas [url=http://www.communicationresponsable.com/][/url]. Mis ventanas estan creadas entre otras cosas con superposicion de movieClips para lograr la separacion de cuerpo, cabeza, etc.... El tema es que ahora necesito que en la ventana se me muestren paginas html, o paginas web (realmente espero que haya algun modo de hacerlo). Tengo una clase desarrollada que me deberia acceder a la pagina usando los URLReques y URLLoader y cargarmela en un movieclip que le paso por parametros (es el movieclip de la ventana correspondiente). el problema es que no lo muestra y me lanza un error que dice que la pagina no ha sido encontrada, sin embargo si coloco la url en el firefox me la abre correctamente. Por favor alguien me puede ayudar?? es muy importante, necesito hacer eso para mi proyecto. Por si no me he explicado bien, lo que necesito es cargar la pagina en mi ventana a modo de brouser pero sin utilizar el explorador firefox o IE.

dejo el codigo aqui para que lo podais ver por si os ayuda a entenderlo. Muchisimas gracias de ante mano y perdonar por el post tan largo. Espero que vaya bien enfocado o sino decirme por favor que camino debo segir o algo. Estaria muy agradecido.


Código :

package {

   import flash.events.*;
   import flash.display.Loader;
   import flash.net.URLLoader;
   import flash.net.URLRequest;
   import flash.net.navigateToURL;
   import flash.net.URLVariables;


   
   import flash.display.MovieClip;
   import flash.events.IOErrorEvent;
   


   public class cargaExterna extends MovieClip {
      protected var contenido:MovieClip=new MovieClip();
      private var peticion:URLRequest;
      private var cargador:Loader;
      protected var dispatcher:EventDispatcher;
      private var precarga:MovieClip;
      public var nombredeimagen:String;
      private var clic:Boolean;
      var contenedorAux:MovieClip;

   

      public function cargaExterna(contenedor:Object):void {

         contenedorAux=contenedor as MovieClip;
         
      }
      public function ini(url:String,nombre:String):void {
         
         trace(url);
         clic=false;
         nombredeimagen=nombre;
         precarga=new precarga_mc();
         precarga.x=500;
         precarga.y=550;
         cargador= new Loader();
         //peticion=new URLRequest(url);
         peticion=new URLRequest("http://es.wikipedia.org/wiki/Programación_dinámica_(computación)");
         cargador.load(peticion);


         dispatcher=cargador.contentLoaderInfo;
         dispatcher.addEventListener(ProgressEvent.PROGRESS, progresoCarga);
         dispatcher.addEventListener(IOErrorEvent.IO_ERROR, f_errorLoading);
         dispatcher.addEventListener(Event.COMPLETE,cargaCompletada);
         //contenido.addChild(cargador);
         contenedorAux.addChild(cargador);
         //addChildAt(contenido,0);
         addChildAt(contenedorAux,0);

         //navigateToURL(peticion);
         //navigateToURL(peticion, "_self");
         //navigateToURL(peticion, "contenedorAux");


      }
      private function progresoCarga(event:ProgressEvent) {
         addChild(precarga);
         //addChild(contenedorAux);


         var total:Number=event.bytesTotal;
         var cargado:Number=event.bytesLoaded;
         var porcentaje:Number=Math.round((cargado/total)*100);

         precarga.gotoAndPlay(porcentaje);

      }
      public function cargaCompletada(event:Event):void {
         removeChild(precarga);

      }//Fin function registraContenido
      public function set estadoClick(estado:Boolean):void {
         clic=estado;

      }
      public function get estadoClick():Boolean {
         return clic;
      }
      public function f_errorLoading(event:IOErrorEvent):void {
         trace("error controlado, no encuentra la url.");
      }
   }//Fin clase

}//Fin paquete


Muchas gracias. Me encanta vuestro trabajo porla comunidad :lol:

Por illo_guay

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Abr 2009 03:55 pm
Hola,

Cargar páginas html dentro de un MovieClip creo que no es posible, al menos de manera común (tal vez haya alguna librería externa que lo haga, habría que buscar).
Aunque podrías utilizar una función en JavaScript (que la invocarías desde flash) para que abriera una ventana nueva del navegador de internet, con el tamaño ajustado a lo que vayas a mostrar (sin botones ni barra de direcciones ni los demás elementos, es caso de que así lo quieras), y dentro de esa página se desplegaría lo que quieras mostrar, bueno, es sólo una idea.

Por -YO-

27 de clabLevel



 

México

firefox
Citar            
MensajeEscrito el 17 Abr 2009 04:02 pm
-YO- Muchas gracias por la contestacion.
El tema es que necesito abrir la pagina en una de las ventanas de mi aplicacion. Puesto que no se puede abrir directa o normalmente como bien dices...Sabes de algun otro modo que me pueda servir??? es que realmente necesito hacerlo pero por mas me busco por todos sitios no veo solucion. Miento!! :p jje. He encontrado algo que se puede hacer o eso parece, que es mediante el uso de iFrame, el problema es que no se muy bien como funciona y si realmente se puede utilizar. alguien sabe de algo que se pueda hacer.....??tambien he leido algo de los JQuery pero... tampoco me aclaro demasiado. Agradezco cualquier ayuda!! muchas gracias.

Por illo_guay

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Abr 2009 05:58 pm
Hola illo_guay. AS3 en su version flash para web, no permite cargar contenido html en un movieclip. La unica solucion q tenes es colocar un IFrame por ensima del flash.


Si estas trabajando con AIR, eso ya es otra historia.

Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 17 Abr 2009 06:10 pm
Hola alfathenus!!

Estaba pensando en hacer lo del IFrame pero como soy algo nuevo en Fash CS3 y en AS3, la verdad que no tengo idea de como hacerlo, por eso te queria pedir si me podrias ayudar un poco en guirame como es el funcionamiento o si conoces de algun sitio donde venga explicado como se hace. Perdoname pero estoy sin ideas y no conozco a nadie que me pueda hechar un cable.
Tambien queria comentarte que buscando todo lo posible por internet he encontrado algo que dice que se puede cargar contenido html o en general sitios web usando los htmlLoader en AS3.
Podria ser eso una solucion?? Agradeceria muchisimo cualquier ayuda.
Muchas gracias de antemando. Gracias de nuevo.

Por illo_guay

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Abr 2009 06:11 pm
aaammm!! se me olvidaba!! no estoy trabajando con AIR. Solo es una aplicacion cliente.

Por illo_guay

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Abr 2009 06:25 pm
Mira, yo utilice esata opcion desde Flex, algo q es bastante diferente a flash, yo utilice un proyecto opensource, pero no te va a servir porque esta muy acoplado a flex.

La verdad q lo q tenes q hacer es llamar a funcions de javascript desde flex. En el javascript haces toda la logica de cargar y descargar iframes dentro de un div y listo, obviamente podes usar mootools o jquery para la parte de javascript y para ejecutar js desde as3 se utiliza la clase externalinterface.

Talvez esto te sirva para comenzar a probar cosas
http://viconflex.blogspot.com/2007/04/closer-look-at-iframes-and.html

Cualquier cosa avisa

Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 17 Abr 2009 06:31 pm
solo una cosa y perdona por no saber mucho de esto. Como me hablas de flex...no lo puedo hacer desde flash/as3?? es que tengo ya todo mi proyecto en flash y cambiarlo todo puede ser una locura..... Muchas gracias por la ayuda

Por illo_guay

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Abr 2009 06:36 pm
Hola

cambiarlo todo es un locura si recien comenzas con AS3.

Fijate en el link q te pase, ahi explican como hacerlo con ExternalInterface q funciona perfectamente en Flash/AS3.


Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 17 Abr 2009 06:40 pm
voy a ello. Muchisimas gracias yya te informo con lo que consiga.
un saludo

Por illo_guay

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Abr 2009 11:46 am
Hola a todos y a alfathenus que me estaba echando una mano.
Tio he estado mirando como funciona lo del IFramey eso, viendo como funciona y como interacciona flash con js. Tengo algunas preguntas a ver si me podias aclarar un poco que no tengo mu claro por donde pillarlo....
A ver, mi aplicacion es cliente, no esta en ningun servidor ni nada aunqeu tengo uno (Tomcat) para pedir algunas informaciones que necesito y eso, para lo que tengo un archivo JSP en el servidor que me hace de enlace para hacer las peticiones. Entonces..
-Los archivos js para lo del IFrame deben estar tb en el server o estan junto con mi aplicacion y son estos los que realizan el acceso a internet?
-En el momento que se hace el externarlInterface.call("nombre funcion", args...) implica que el resultado de la "busqueda" se superpone en mi aplicacion??

Estoy tratando de destripar un poco un proyeto en flex que usa los IFrame y mas o menos lo entiendo aunuqe no veo muy clara la interaccion entre clases y tecnologias.... Por ejemplo en un archivo IFrame.mxml hace lo siguiente

Código :

<?xml version="1.0" encoding="utf-8"?>

<mx:Canvas xmlns:mx="http://www.macromedia.com/2005/mxml"
    resize="callLater(moveIFrame)"
    move="callLater(moveIFrame)">

    <mx:Script>
    <![CDATA[

        import flash.external.ExternalInterface;
        import flash.geom.Point;
        import flash.net.navigateToURL;

        private var __source: String;

        private function moveIFrame(): void {

            var localPt:Point = new Point(0, 0);
            var globalPt:Point = this.localToGlobal(localPt);
            ExternalInterface.call("moveIFrame", globalPt.x, globalPt.y, this.width, this.height);
        }

        public function set source(source: String): void {
            if (source) {

                if (! ExternalInterface.available)
                {
                   // TODO: determine if this Error is actually needed.  The debugger 
                   // build gives the error below.  Assuming that this error will not show
                   // up in the release build but haven't checked.
                    throw new Error("The ExternalInterface is not available in this container. Internet Explorer ActiveX, Firefox, Mozilla 1.7.5 and greater, or other browsers that support NPRuntime are required.");
                }
                __source = source;
                ExternalInterface.call("loadIFrame", source);
            }
        }

        public function get source(): String {
            return __source;
        }

        override public function set visible(visible: Boolean): void {
            super.visible=visible;
            if (visible)
            {
                ExternalInterface.call("showIFrame");
            }
            else
            {
                ExternalInterface.call("hideIFrame");
            }
        }

    ]]>
    </mx:Script>

</mx:Canvas>


Entiendo que lo que esta entre <mx:Script> CODE </mx:Script> es la parte AS3 que hace la llamda al iframe y que devolvera el contenido de la url, eso creo.

Y cuando al final de ese codigo hace

Código :

ExternalInterface.call("loadIFrame", source);
esta llamando a otro archivo que contiene la funcion loadFrame. Lo que pasa es que ese archivo es un html que entre otras muchas cosas de codigo html contiene una parte de jacaScript que contiene las funciones necesarias....(o eso creo...).
Imagino que esta clase sera la equivalente a el javaScript que debo hacer, no?

Código :

</script>
<script language="JavaScript1.1" type="text/javascript">
<!-- // Detect Client Browser type
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(){
   // NS/Opera version >= 3 check for Flash plugin in plugin array
   if (navigator.plugins != null && navigator.plugins.length > 0) {
      if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
         var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
            var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
         descArray = flashDescription.split(" ");
         tempArrayMajor = descArray[2].split(".");
         versionMajor = tempArrayMajor[0];
         versionMinor = tempArrayMajor[1];
         if ( descArray[3] != "" ) {
            tempArrayMinor = descArray[3].split("r");
         } else {
            tempArrayMinor = descArray[4].split("r");
         }
            versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
         } else {
         flashVer = -1;
      }
   }
   // MSN/WebTV 2.6 supports Flash 4
   else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
   // WebTV 2.5 supports Flash 3
   else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
   // older WebTV supports Flash 2
   else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
   // Can't detect in all other cases
   else {
      
      flashVer = -1;
   }
   return flashVer;
} 
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{
    reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   if (isIE && isWin && !isOpera) {
      versionStr = VBGetSwfVer();
   } else {
      versionStr = JSGetSwfVer();      
   }
   if (versionStr == -1 ) { 
      return false;
   } else if (versionStr != 0) {
      if(isIE && isWin && !isOpera) {
         tempArray         = versionStr.split(" ");
         tempString        = tempArray[1];
         versionArray      = tempString .split(",");            
      } else {
         versionArray      = versionStr.split(".");
      }
      versionMajor      = versionArray[0];
      versionMinor      = versionArray[1];
      versionRevision   = versionArray[2];
      
      versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
      versionNum        = parseFloat(versionString);
       // is the major.revision >= requested major.revision AND the minor version >= requested minor
      if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
         return true;
      } else {
         return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );   
      }
   }
}

function moveIFrame(x,y,w,h) {
    var frameRef=document.getElementById("myFrame");
    frameRef.style.left=x;
    frameRef.style.top=y;
    frameRef.width=w;
    frameRef.height=h;
}

function hideIFrame(){
    document.getElementById("myFrame").style.visibility="hidden";
}

function showIFrame(){
    document.getElementById("myFrame").style.visibility="visible";
}

function loadIFrame(url){
    top.frames["myFrame"].location.href=url;
}

// -->
</script>


Antes de nada perdona por un post tan largo pero estoy un poco perdido y me esta costado bastante entender como funciona un poco esta locura.... :lol:

Si me pudieras orientar un poco sobre todo por saber si voy mas o menos bien orientado en el manejo de esto.
Muchisimas gracias por tu ayuda por adelantado.

Saludos de un humilde practicante de flash AS3 que esta un poco verde en todo esto :P pero que le gusta aprender de los mejores. Animo a todos y no cambieis!!

Por illo_guay

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Abr 2009 07:04 pm
Hola! Vuelo por aqui buscando un poco de sabiduria!!
Vereis, ya casi tengo lo de mostrar paginas web en mi aplicacion. Finalmente lo he tenido que hacer usando los iframes, div, y alguna cosa mas.
Hasta ahora cuando arranco mi aplicacion en el firefox (en mi caso) mi aplicacion corre correctamente y se me carga el div con el iframe y la pagina web correctamente cargada en la posicion "x" e "y" correctas (las que yo le paso para situarlo) el problema me viene con los parametros width y height que no me los coge y no se amplica por lo que tengo la pagina a tamaño minimo.
Por favor alguien sabe que le puede pasar??? estoy ya loco de mirar porque creo que lo estoy haciendo bien, algo se me escapa a mi entendimiento... por favor ayuda...
Os pongo el codigo del html con el javaScript para que lo podais ver.
Muchas gracias de antemano.
Una vez que lo consiga hacer completamente pondre la solucion para el que le pueda interesar.


Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>EDUNET</title>

<script language="JavaScript" type="text/javascript">

     var jsReady = false;
     function isReady() {
         return jsReady;
     }


     function pageInit() {
         jsReady = true;
         document.forms["form1"].output.value += "\n" + "JavaScript is ready.\n";
     }


   function moveIFrame(x,y,w,h) {

      document.getElementById("myFrame").style.left = x + "px";

      
      document.getElementById("myFrame").style.top = y + "px";
      
      document.getElementById("myFrame").style.height= h + "px";
      
               document.forms["form1"].output.value += "\n" + "En moveIFrame 5.\n";
      
   }

   function hideIFrame(){
      document.getElementById("myFrame").style.visibility="hidden";
   }
      
   function showIFrame(){
      
      document.getElementById("myFrame").style.visibility="visible";
      
   }

   function loadIFrame(url){
      
      document.getElementById("myFrame").innerHTML = "<iframe id='myIFrame' src='" + url + "'frameborder='0'></iframe>";
      
   }     
</script>


<style type="text/css"> 
html, body { 
   height: 110%; 
   margin: 0px; 
   padding: 0; 
}

#myFrame {
      position:absolute;
      background-color:transparent;
      border:0px;
      visibility:hidden;
}
</style>

</head>

<body onload="pageInit();">

   <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Principal" 
         codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="100%" height="100%" >  
   <param name="movie" value="Principal.swf" />
   <param name="allowScriptAccess" value="always" />
   <param name="quality" value="high" />
   <embed src="Principal.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"    
            type="application/x-shockwave-flash" width="100%"    height="100%" name="Principal" align="middle"
            play="true" loop="false" quality="high" allowScriptAccess="sameDomain" wmode="opaque">
      </embed>
   </object>

     <form name="form1" onsubmit="return false;">
         <input type="text" name="input" value="" />
         <input type="button" value="Send" /><br />
         <textarea cols="60" rows="20" name="output" readonly="true">Initializing...</textarea>
        </form>

<div id="myFrame"></div>
   
</body>
</html>

Por illo_guay

35 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Abr 2009 05:07 pm
Hola a todos!!
Vuelvo por aki para traer la solucion al problema que plantee en un principio. La solucion como ya se intuia pasaba por utilizar los IFrames por lo tanto voy a tratar de explicar como he solucionado mi problema por si a algunos puede venirle bien.
Basicamente hay que hacer do cosas.
Por un lado hay que modificar el propio archivo html que geneera nuestro proyecto flash cs3 con as3 embebiendo el swf de nuestra aplicacion, ademas habra que crear un div que contenga el IFrame al que le pasaremos la url que queremos cargar sobre nuestra aplicacion flash, y finalmente habra que crear algunos metodos en JavaScript que nos permitan modificar los parametros del "div" y del "IFrame". todo esto viene de la parte del html, del que pongo el codigo mas importante para que quede asi mas claro.


Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>EDUNET</title>

<script language="JavaScript" type="text/javascript">

     var jsReady = false;
     function isReady() {
         return jsReady;
     }


     function pageInit() {
         jsReady = true;
         document.forms["form1"].output.value += "\n" + "JavaScript is ready.\n";
     }


   function moveIFrame(x,y,w,h) {
   
      var miObjeto = document.getElementById("myFrame");
      miObjeto.style.left = x + "px";
      miObjeto.style.top = y + "px";
      
      var miObjeto2 = document.getElementById("myIFrame");
      miObjeto2.width = w + "px";
      miObjeto2.height = h + "px";
      
   }

   function hideIFrame(){
      document.getElementById("myFrame").style.visibility="hidden";
   }
      
   function showIFrame(){
      document.getElementById("myFrame").style.visibility="visible";
   }

   function loadIFrame(url){
      document.getElementById("myFrame").innerHTML = "<iframe id='myIFrame' src='" + url + "'frameborder='0'></iframe>";
   }
   
</script>




<style type="text/css"> 
html, body { 
   height: 110%; 
   margin: 0px; 
   padding: 0; 
}

#myFrame {
      position:absolute;
      background-color:transparent;
      border:0px;
      visibility:hidden;
}
</style>


</head>


<body onload="pageInit();">



   <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="Principal" 
         codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="100%" height="100%" >  
   <param name="movie" value="Principal.swf" />
   <param name="allowScriptAccess" value="always" />
   <param name="quality" value="high" />
   <embed src="Principal.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"    
            type="application/x-shockwave-flash" width="100%"    height="100%" name="Principal" align="middle"
            play="true" loop="false" quality="high" allowScriptAccess="sameDomain" wmode="opaque">
      </embed>
   </object>

<div id="myFrame"></div>
   
</body>
</html>





Por otro lado hay que modificar nuestro proyecto flash para que intercambie informacion con el propio html y asi hacer uso de las funciones en JavaScript. Esto es haciendo uso del objeto externalInterface, con el que nos fijamos primero si la conexion entre ellos esta preparada y desde hay vamos llamando a las funciones creadas, pasandoles los parametros necesarios para modificar los atributos propios al "div" y al "IFrame". Pondre por lo tanto el codigo referente a esta parte.



Código :

public function cargaContenido(url:String){
            src=url;   
            if (ExternalInterface.available) {
         
               try {
                  
                  if (checkJavaScriptReady()) {
                     
                     mandaURL(src);
                     
                     moveIFrame();
                     if(mi_ventana.esVisibleCuerpo() && mi_ventana.esVisibleVentana()){
                        ExternalInterface.call("showIFrame");
                        cargado=true;
                        tareaEnviada=true;
                     }
                     
                     
                     
                  } else {
                     
                     var readyTimer:Timer = new Timer(100, 0);
                     readyTimer.addEventListener(TimerEvent.TIMER, timerHandler);
                     readyTimer.start();
                  }
               } catch (error:SecurityError) {
                  
               } catch (error:Error) {
                  
               }
            } else {
               
            }
            
            
         }



private function checkJavaScriptReady():Boolean {
               var isReady:Boolean = ExternalInterface.call("isReady");
               return isReady;
           }

private function timerHandler(event:TimerEvent):void {
            var isReady:Boolean = checkJavaScriptReady();
            if (isReady) {
               Timer(event.target).stop();
            }
         }
         
         public function moveIFrame(): void{
            ExternalInterface.call("moveIFrame", mi_ventana.getDestinoContenidoX(), mi_ventana.getDestinoContenidoY(), mi_ventana.getDestinoContenidoAncho(), mi_ventana.getDestinoContenidoAltura()-5);
         }
         
         public function mandaURL(source: String): void{
            if (! ExternalInterface.available){
               
               throw new Error("ExternalInterface is not available in this container. Internet Explorer ActiveX, Firefox, Mozilla 1.7.5 and greater, or other browsers that support NPRuntime are required.");
            }
            ExternalInterface.call("loadIFrame", source);
         }



public function setVisible(): void{
            if(tareaEnviada){
               if (!cargado){
                  moveIFrame();
                  ExternalInterface.call("showIFrame");
                  cargado=true;
               }
            }
         }
         
         public function setOculto(): void{
            if(tareaEnviada){
               if (cargado){
                  ExternalInterface.call("hideIFrame");
                  cargado=false;
               }
            }
         }






Bueno, Esto es todo. Espero que os sirva y y lo hayais entendido, nose si esta sera la mejor manera de acerlo pero la verdad que funciona y al menos es lo que necesitaba.


Ahora viene la segunda parte en la que yo necesito ayuda de nuevo. Todo esto ya esta funcionando y lo hace correctamente. Pero ahora ademas de querer pasarle una url (que es lo que he hecho hasta ahora), hay otros casos en los que lo que necesito es pasarle el codigo (literalmente) de una pagina html, no el nombre del archivo ni la url sino el codigo, con todas sus etiquetas y codigo. Entonces lo que estoy haciendo es pararlo en un String al Html de mi aplicacion y colocarlo dentro del div del siguiente modo:

Código :

       function loadIFrameLD(codigo){
      
      var contenidoLD=codigo;
      document.getElementById("myFrame").innerHTML = contenidoLD;
      
   }


el caso es que me lo muestra pero no bien. es decir el codigo de la pagina debe tener un cuadro de texto y demas que esta en el codigo que le paso pero sin embargo no me lo reconoce. alguien me podria decir si lo estoy haciendo bien o hay alguna otra forma de hacerlo?? es posible desde flash crearme un archivo html alque le meto el codigo que necesito y luego lo que le paso a las funciones JavaScript sera el nombre que le he dado al archivo y que asi me lo abra??? No se si se podria hacer asi pero es algo que se me ha ocurrido.
Por favor si alguien pudiera ayudarme....Muchisimas gracias que cada vez que vengo por aki aprendo y me ayudais muchisimo.
Muchas gracias a todos y perdonar este post tan grande pero para poder explicarlo todo era necesario.
Hasta la vista y si teneis alguna duda intentare ayudar.
ciaoooo

Por illo_guay

35 de clabLevel



 

firefox

 

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