Home » Class »Trucos » Currently Reading:

Clase para abrir popups

septiembre 24, 2006 Class, Trucos 22 Comments
Clase para abrir popups

Esta sencíllisima clase sirve para abrir una ventana popup.
Simplemente contiene las parametros de la ventana popup dentro de variables y lanza la función javascript.
La clase:

  1. class PopUp
  2. {
  3.     public var winName:String;
  4.     public var url:String;
  5.     public var height:Number;
  6.     public var width:Number;
  7.     public var left:Number;
  8.     public var top:Number;
  9.     public var toolbar:String;
  10.     public var scrollbars:String;
  11.     public var location:String;
  12.     public var statusbar:String;
  13.     public var menubar:String;
  14.     public var resizable:String;
  15.     //——————————
  16.     public function PopUp()
  17.     {
  18.         // defaults
  19.         winName = "PopUp";
  20.         url = "";
  21.         height = 450;
  22.         width = 750;
  23.         left = (System.capabilities.screenResolutionX - height) / 2;
  24.         top = (System.capabilities.screenResolutionY - width) / 2;
  25.         toolbar = scrollbars = location = statusbar = menubar = resizable = "no";
  26.     }
  27.     //——————————
  28.     public function open()
  29.     {
  30.         var opc:String = "width=" + width + ",height=" + height + ",";
  31.         opc += "toolbar=" + toolbar + ",scrollbars=" + scrollbars + ",location=" + location + ",statusbar=" + statusbar + ",menubar=" + menubar + ",resizable=" + resizable;
  32.         opc += ",top=" + top + ",left=" + left;
  33.         getURL("javascript:void(window.open(’" + url + "’,'" + winName + "’,'" + opc + "’));");
  34.     }
  35. }

Los parámetros del popup estan como variables públicas dentro de la clase.

  1. import PopUp;
  2. var popup:PopUp = new PopUp();
  3. popup.winName = "Ventana";
  4. popup.url = "http://www.cristalab.com";
  5. popup.height = 450;
  6. popup.width = 790;
  7. popup.scrollbars = "yes";
  8. popup.open();

Es útil simplente para evitar escribir todo el getURL(), y solo hay que definir los parametros que queramos diferentes a los valores por defecto al crear la clase…

Compártelo:

Clase para abrir popups
Visto 11.269 veces

Currently there are "22 comments" on this Article:

  1. Jp dice:

    hola. pues yo soy nuevo con los flash y nose mucho del tema, pero queria saber como utilizar bien ese codigo para habrir un pop-up en mi pag ( http://www.sincelejiando.com) y pues los botones que tengo estan en uno solo flash y cada uno por separado tiene el mismo codigo para la animacion de cada uno
    quisiera ponerne un pop uo que me habra un nueva ventana al estilo pop up
    aqui esta el codigo de cada animacion…

    onClipEvent (load)
    {
    num = 2;
    this.title.gotoAndStop(num);
    }
    on (rollOver)
    {
    if (_root.link != num)
    {
    this.gotoAndPlay("s1");
    _root.menu2["item" + num].gotoAndPlay("s1");
    } // end if
    }
    on (releaseOutside, rollOut)
    {
    if (_root.link != num)
    {
    this.gotoAndPlay("s2");
    _root.menu2["item" + num].gotoAndPlay("s2");
    } // end if
    }
    on (release)
    {
    if (_root.link != num && _root.animation == 1)
    {
    _root.animation = 0;
    _root.link_prev = _root.link;
    _parent["item" + _root.link].gotoAndPlay("s2");
    _root.menu2["item" + _root.link].gotoAndPlay("s2");
    _root.link = num;
    _root.play();
    } // end if
    }

    por favor selo agradeceria mucho si me ayudaran con esto gracias.

  2. admin dice:

    Lo que has de hacer es copiar TODO el primer código tal cuál y pegarlo dentro de un documento actionscript nuevo:

    class PopUp {
    ....
    }

    y a este archivo llamarlo "PopUp.as".
    Este documento lo pones dentro de tu carpeta de clases AS2 o al lado de tu archivo .FLA
    Luego en el onRelease de tu botón colocas el otro código, dándole las propiedades que quieras.
    var popup:PopUp = new PopUp();

    popup.winName = "Ventana";
    popup.url = "http://www.cristalab.com";
    popup.height = 450;
    popup.width = 790;
    popup.scrollbars = "yes";
    popup.open()

  3. Guss dice:

    Por que no puedo ver el ejemplo y en lugar de eso veo el icono de Quicktime???

  4. luis dice:

    me gustaria que me mandara el codigo para poner a la pagina web por la atencion prestada agradesco.

    se depide su amigo luis

  5. alexander dice:

    ¿quisiera saver para que sirve un popups?

  6. Mauricio dice:

    Cree el archivo PopUp.as, de ahí no sé si necesita crear el fla, pues para este caso me salió: “Sólo se pueden definir clases en scripts de clase ActionScript 2.0 externos.
    class PopUp”
    En fin, seguí y quise añadir el 2do código en mi archivo que contiene los botones, y me salió este error:
    **Error** Símbolo=Animar 2, capa=Capa 1, fotograma=1:Línea 2: No se pudo cargar la clase o interfaz ‘PopUp’.
    import PopUp;

    **Error** Símbolo=Animar 2, capa=Capa 1, fotograma=1:Línea 3: No se pudo cargar la clase o interfaz ‘PopUp’.
    var popup:PopUp = new PopUp();

    Total de errores de ActionScript: 2 Errores comunicados: 2

    En dónde estoy fallando? Agradecería su ayuda

  7. admin dice:

    @mauricio, esos errores son porque la pelicula no encuentra la ruta de la clase.

    Coloca todo el código de la clase dentro de un archivo que se llame “PopUp.as” y colócalo junto a tu película .fla

    El código tal cuál está publicado te ha de funcionar ;)

  8. ruben dice:

    Necesito una ventana emergente que contenga una instancia de un movie clip, lo que necesito hacer es que se abra una ventana con un movie clip de Login.
    en:flashla.com hay algo parecido pero necesito poner en la ventana la instancia de un movie clip existente en la biblioteca
    Les agradeceria cualquier ayuda

  9. Max dice:

    disculpen amigos:
    hay dos codigos, cual de los dos debo poner dentro del archivo popup.as .
    muchas gracias.

  10. zguillez dice:

    @Max: El primer bloque de código es el que va dentro del archivo .as (es una clase)
    El segundo bloque lo ejecutas desde el .fla (o desde otra clase)

  11. max dice:

    hola zguillez:
    gracias por la respuesta pero te cuento lo que estoy haciendo… a ver dime si lo hago bien o que debo cambiar.

    1.- copio el primer bloque de codigo y lo pego en un documento del bloc de noptas con el nombre popup.as y lo grabo en la misma carpeta donde tengo los .fla y .swf

    2.- le doy clic derecho al boton de mi pelicula y selecciono la opcion ACCIONES, copio el segundo bloque de codigo y me sale un mensaje que dice “las acciones con errores no se puede pegar en el modo asistente”.
    le desactivo el modo aistente y lo pego. Pero a la hora de ejecutarlo con F12 me sale una lista de erores.

    por favor que estoy haciendo mal.

    MIL GRACIAS POR LA AYUDA QUE ME PUEDAN DAR.

  12. zguillez dice:

    @Max: ¿modo asistente? ¿que versión de flash estás utilizando? Este código es para Flash 8.

  13. max dice:

    HOLA

    estoy usando flash cs3

  14. Chuck dice:

    Hola, estoy intentando abrir una ventana desde un flash (.exe), pero al momento de abrirla la deja en segundo plano, ya intente usar javascript dentro de la funcion “getURL”, pero solo abre una ventana en blanco, al parecer no esta leyendo al instruccion de javascript.

    alguna sugerencia?

  15. Gus dice:

    Yo tambien estoy usando CS3 podrias poner algun zip con el .fla, el HTM, etc, asi lo investigamos y aprendemos del codigo interno?
    Gracias!

  16. Saludo, estoy intentando implementar el codigo que aparece aqui pero me salen una lista de errores. YO estoy utlizando Flash CS3 pero en modo AS2, me gustaria que saber como debo implementar este codigo en un boton para que se habra un popup con un pagina en especifico.

    Muchisimas gracias, esta pagina es una excelente ayuda para los novatos como yo

  17. zguillez dice:

    @MusicNavigator:
    Para abrir el popup desde un botón únicamente ejecuta el open() desde en onRelease del botón:

    import PopUp;
    var popup:PopUp = new PopUp();
    popup.winName = "Ventana";
    popup.url = "http://www.cristalab.com";
    popup.height = 450;
    popup.width = 790;
    popup.scrollbars = "yes";

    boton.onRelease = function(){
    popup.open();
    }

    Todo el código iría en el fotograma donde esté el boton.

  18. eduardo dice:

    hola yo tengo un problema grande resulta que tengo mi archivo en as3 es un intro y despues quiero abrir un swf. externo pero me gustaria que se abriera en otra ventana o sobre la misma pero mi archivo que es externo esta en .swf en as 2 asi que que me recomiendas hacer te lo agradeceria infinitamente

  19. admin dice:

    @eduardo: Colocar una película AS2 dentro de una película AS3 no es problema, incluso las funciones AS2 de la película te funcionarán.. Otra cosa es que desde la película AS3 quisieses acceder a métodos o propiedades de la película AS2.

    Aqui tienes un ejemplo sencillo de película AS3 que contiene otra en AS2, con unas pequeñas funciones para que veas que funcionan..

    http://www.codigoactionscript.org/files/contenedorAS3-AS2.zip

    Saludos!

  20. pakman dice:

    Hola,

    Alguien ha conseguido que le funcione en IExplorer 6? :S

    Merci!

  21. pakman dice:

    sorry, soy un bocas :X

    Una class magistral, felicidades!!!

  22. Akire dice:

    Hola, necesito ayuda…
    Estoy creando una multimedia y en ella debe haber una galería de imágenes. Al lado de cada foto estará una pequeña lupa, y al presionarla, la idea es que aparezca una ventana emergente con la imagen en un tamaño más grande, más o menos como hace Faceboook actualmente.

    Podrían decirme qué tipo de código debo utilizar, por favor.
    Muchas gracias.

Comment on this Article:








nueve − = 7

Usuarios

Usuarios registrados: 3,360

Recibe las novedades por email

Map

AdvertisementAdvertisementAdvertisementAdvertisement

Ranking

Media de 4.69 de 5 sobre 75 valoraciones

twitter-widget.com