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

Ventanas PopUp

Estas en el tema de Ventanas PopUp en el foro de Flash y Actionscript en Foros del Web. Buenas gente.. aqui dejo una clase para la creacion de ventanas popup. Al ser una clase solo funcionara en la version MX 2004 para versiones ...
  #1 (permalink)  
Antiguo 17/03/2005, 15:35
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Ventanas PopUp

Buenas gente.. aqui dejo una clase para la creacion de ventanas popup.
Al ser una clase solo funcionara en la version MX 2004 para versiones anteriores a la MX 2004 mas abajo esta la explicacion

windowUtils.as

Código PHP:
/**
* @class windowUtils
* @author Enrique Chavez aka Tmeister
* @version 0.1
* @description Set de utilerias para la creacion de Popups
* @usage   <pre>import windowUtils</pre>
*/
;
class 
windowUtils{
    
/**
    * @method make
    * @description  Genera una ventana Popup
    * @usage <code>windowUtils.make(ancho, alto, url, [winName])</code>
    * @param ancho (Number) El ancho de la ventana que se creara
    * @param alto (Number) El alto de la ventana que se creara
    * @param url (String) El url de la pagina que se mostrara en el Popup
    * @param winName (String) Opcional el nombre de la ventana Popup
    */
;    
    public static function 
make(ancho:Numberalto:Numberurl:StringwinName:String):Void{
        var 
winName = (winName == undefined) ? "PopUp" winName;
        var 
carac:String "width="+ancho+",height="+alto+",";
        
carac += "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0";
        
getURL("javascript:void(window.open('"+url+"','"+winName+"','"+carac+"'));");
    }
    
/**
    * @method make
    * @description  Genera una ventana Popup centrada en la pantalla
    * @usage <code>windowUtils.makeCenter(ancho, alto, url, [winName])</code>
    * @param ancho (Number) El ancho de la ventana que se creara
    * @param alto (Number) El alto de la ventana que se creara
    * @param url (String) El url de la pagina que se mostrara en el Popup
    * @param winName (String) Opcional el nombre de la ventana Popup
    */
;    
    public static function 
makeCenter(ancho:Numberalto:Numberurl:StringwinName:String):Void{
        var 
winName = (winName == undefined) ? "PopUp" winName;
        var 
left = (System.capabilities.screenResolutionX-ancho)/2
        
var top = (System.capabilities.screenResolutionY-alto)/2
        
var carac:String "width="+ancho+",height="+alto+",";
        
carac += "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,";
        
carac += "top="+top+",left="+left;
        
getURL("javascript:void(window.open('"+url+"','"+winName+"','"+carac+"'));");
    }

Este archivo .as tiene que se salvaldo con el nombre windowUtils.as y estar en el mismo directorio que su FLA.

Ahora desde su pelicula FLA

Código:
import windowUtils;
windowUtils.make(350, 150, "http://www.google.com", "miPop");
Si quieren que la accion se ejecute al dar click en un boton

Código:
import windowUtils;
mi_btn.onRelease = function() {
	windowUtils.makeCenter(350, 150, "http://www.google.com", "miPop");
};
Esta Clase cuenta con 2 metodos make y makeCenter, la unica direfencia entre estos metodos es que makeCenter crea la ventana popUp y la centra con respecto a la resolucion del usuario.

Version MX

En lugar de Clases aqui vamos a usar funciones comunes

Código:
function make(ancho, alto, url, winName) {
	var winName = (winName == undefined) ? "PopUp" : winName;
	var carac = "width="+ancho+",height="+alto+",";
	carac += "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0";
	getURL("javascript:void(window.open('"+url+"','"+winName+"','"+carac+"'));");
}
function makeCenter(ancho, alto, url, winName) {
	var winName = (winName == undefined) ? "PopUp" : winName;
	var left = (System.capabilities.screenResolutionX-ancho)/2;
	var top = (System.capabilities.screenResolutionY-alto)/2;
	var carac = "width="+ancho+",height="+alto+",";
	carac += "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,";
	carac += "top="+top+",left="+left;
	getURL("javascript:void(window.open('"+url+"','"+winName+"','"+carac+"'));");
}
y las llamamos asi

Código:
mi_btn.onRelease = function() {
	makeCenter(350, 150, "http://www.google.com", "miPop");
};
tan tan..

Saludos!!

Última edición por TMeister; 17/03/2005 a las 16:02
  #2 (permalink)  
Antiguo 18/03/2005, 04:17
Avatar de pulento  
Fecha de Ingreso: noviembre-2002
Ubicación: En un pequeño, helado, obscuro reino... llamado Dinamarca.
Mensajes: 1.852
Antigüedad: 22 años
Puntos: 1
Upssssss...

No me habia dado cuenta ke el hilo llegaba a recursos ..

El post esta tan bueno ke ..Casi recomiendo mandarlo a recursos...

Salu2
__________________
http://www.flotdesign.dk/

Última edición por pulento; 18/03/2005 a las 04:20
  #3 (permalink)  
Antiguo 26/08/2005, 07:00
 
Fecha de Ingreso: agosto-2005
Mensajes: 15
Antigüedad: 19 años, 3 meses
Puntos: 0
t meiser.... necesito ayuuuudaa.. Es que no entiendo nada de codigos, pero necesito hacer un popup. Es para una pagina de FPage y necesito que al hacer click en una imagen, se abra una ventana con la descripcion de esa foto. En realidad es para una pagina de adopcion de perros Kuvasz y preciso que al clickear sobre la foto del perro en adopcion se abra una ventanita con la ficha del perro y despues se cierre para poder ver otra...¿se entiende?...
Digo... el codigo este que pusiste (que para mi es chino basico) ¿me serviría?
Mil gracias
  #4 (permalink)  
Antiguo 27/09/2005, 13:55
Avatar de NBuchhorsts  
Fecha de Ingreso: marzo-2004
Ubicación: Verdadera Felicidad Para Todos Los Seres Sintientes
Mensajes: 138
Antigüedad: 20 años, 8 meses
Puntos: 0
No funciona...
Uso flash 8...
__________________
No Hay Buda Fuera De La Mente Ni Hay Mente Fuera Del Buda
  #5 (permalink)  
Antiguo 13/10/2005, 12:52
Avatar de pituu2  
Fecha de Ingreso: abril-2004
Ubicación: paraná entre rios
Mensajes: 274
Antigüedad: 20 años, 6 meses
Puntos: 0
a mi tmpoco

a mi tmpoco me funciona y tambien tengo f 8
__________________
pituu2
  #6 (permalink)  
Antiguo 08/11/2005, 01:10
 
Fecha de Ingreso: abril-2003
Ubicación: bucaramanga
Mensajes: 9
Antigüedad: 21 años, 7 meses
Puntos: 0
ayuda con el codigo pop up

hola gracias por la ayuda que nos presta...hay cosas muy interesantes y se ve que hay interes y esfuerso detras de todo esto
Estoy haciendo un pop up desde un fla… quiero que al clickear el botón se active el pop up… estoy utilizando el tutorial que esta en la pagina de su autoria… pero como a muchos no me funciona…
Que significa este aviso de flash
**Error** Escena=documento, capa=cuadro, fotograma=21:Línea 1: La declaración debe aparecer dentro del controlador on
import windowUtils;

**Error** Escena=documento, capa=cuadro, fotograma=21:Línea 2: La declaración debe aparecer dentro del controlador on
mi_btn.onRelease = function() {

tengo todo bien… se ubicar el codigo pero…

El codigo para llamar la ventana es
import windowUtils;
mi_btn.onRelease = function() {
windowUtils.makeCenter(350, 150, "http://www.google.com", "miPop");
};
gracias por la ayuda
  #7 (permalink)  
Antiguo 18/12/2005, 18:13
Avatar de lbenz  
Fecha de Ingreso: marzo-2003
Ubicación: Haedo
Mensajes: 445
Antigüedad: 21 años, 8 meses
Puntos: 4
a ver, si alguien me peude ayudar, yo entendi que, tengo que hacer un archivo windowUtils.as con el codigo que pusieron aca y guardarlo con ese mismo nombre en el mismo directorio en donde esta el flash.
despues ir al boton que quiero darle esa accion y ponerle
import windowUtils;
mi_btn.onRelease = function() {
windowUtils.makeCenter(350, 150, "http://www.google.com", "miPop");
};

este codigo
eso es todo, porque si es asi nada mas nom e funciona, o que hay que hacer, o qeu codigo que olvide de poner o cual ubique mal

la pagina esta hecha en flash completamente
tengo un index.htm y dentro de ese tengo un pagina.swf
todos los archivos los puse dentro de la misma carpta
cree este archivo .as
y puse en el el boton la funcion que opuse recien

no funca
alguie me peude ayudar???
  #8 (permalink)  
Antiguo 02/04/2006, 19:16
Avatar de creativa  
Fecha de Ingreso: octubre-2004
Ubicación: Atlántida Uruguay
Mensajes: 105
Antigüedad: 20 años, 1 mes
Puntos: 0
Para los que usan flash8

...y pidiendo las disculpas necesarias a Tmeister por meter cuchara en esto.

Como estuve buscando y probando varios codigos para el temita este de las popups...y en flash8 no funcionaba el asunto aparentemente probando el swf dentro de mi propio pc, me dije, no pueden estar todos estos codigos errados! Asi que subi mi swf a la red (a mi sitio) para ver que pasaba y entonces funcionaba! o sea: en la propia pc parece que no da señal de vida, pero si lo subes a un servidor sep.... (no me pregunten porque).

Ahora bien, el codigo que le meti finalmente es un poco mas sencillo (aunque no dudo que el anteriormente citado funcione de maravilla igualmente) y por aqui se los dejo:

Esta es la accion que debes darle al boton que quieres te despliegue la nueva ventana:
Cita:
on (press)
{
getURL ("javascript:void(window.open('popup.html','popup' ,'toolbar=no,location=no,status=no,menubar=no,scro llbars=no,resizable=no,width=400,height=200,top=50 ,left=50'))");}
Ten cuidado al copiar el codigo....desde donde dice geturl hasta el fin, todo eso debe ir en una sola linea.


Donde popup.html debes cambiarlo por el nombre de tu archivo html, popup por el nombre que deseas dar a la ventana, lo demas indica que no tendra barra de navegacion, ni barra de estado, ni menu, ni scroll, ni podra cambiarse la medida de la ventana.
Donde width es el ancho de tu nueva ventana y height el ancho.
Donde top y left son las coordenadas de origen donde aparecera tu ventana en pantalla (la ubicacion de la ventana).

Espero les sirva.
__________________
http://www.creativa.com.uy
Siempre existen nuevos caminos que recorrer, lo importante es tener ganas de caminar.
  #9 (permalink)  
Antiguo 04/10/2006, 16:18
Avatar de CarlitosN  
Fecha de Ingreso: octubre-2006
Mensajes: 4
Antigüedad: 18 años, 1 mes
Puntos: 0
Exclamación La causa del error

Hola a todos:
La verdad yo tambien soy nuevo en esto, pero les doy un alcance...
El codigo del PopUp usa lenguaje PHP, este lenguaje requiere de un servidor para funcionar, es decir en sus PCs no va a funcionar, a menos que tengan instalado el Apache y PHP..... en fin . Ese es el unico problema. Creo q la ventaja de usar PHP en lugar del JavaScript que nos propone Creativa ( ...gracias ) es que los bloqueadores de popups no abren los popups hechos con javascript, lo que (creo) no pasa con PHP.

Gracias a Tmeister, tu codigo es bastante util
  #10 (permalink)  
Antiguo 18/06/2007, 08:17
 
Fecha de Ingreso: octubre-2006
Mensajes: 79
Antigüedad: 18 años, 1 mes
Puntos: 0
Mensaje Re: Ventanas PopUp

HOLA A TODA LA GENTE DE ESTE FORO. BUENO TENGO UN PROBLEMA QUE ME ESTA ROMPIENDO LA CABEZA.LES EXPLICO TENGO UN CODIGO QUE TRATA SOBRE LA APERTURA DE UN POPUP AL HACER UN EVENTO CHANGE SOBRE UNA CAJA DE TEXTO.localmente si me funciona perfectamente pero cuando lo subo al servidor no me abre el popup.No encuentro el problema en la sintaxis que les muestro aqui:

Parte del archivo editarCP.php:

function disparaPopUp(codigoArt,i)
{
window.open("ayuda_txtArt.php?codigoArt="+ codigoArt +"&i="+ i +"","aa","scrollbars=yes,resizable=yes,width=1, height=1")
}


for($i=0;$i<$num;$i++)
{

<input name="txtidArticulo<? echo $i;?>" maxlength="9" onChange="disparaPopUp(document.formeditarCP.txtid Articulo<? echo $i;?>.value,'<? echo $i;?>')">
}


Archivo ayuda_txtArt.php:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
<script>
function insertar(articulo,descripcion,unidad)
{
opener.document.formeditarCP.txtidArticulo<? echo $i;?>.value=articulo
opener.document.formeditarCP.txtdescArticulo<? echo $i;?>.value=descripcion
opener.document.formeditarCP.txtuniArticulo<? echo $i;?>.value=unidad
}
</script>
</head>

<body>
<? $conn=odbc_connect('oracle2','CAJAWEB','123456');
if (!$conn)
{
exit("Connection Failed: " . $conn);
}
$sql="SELECT * FROM ARTICULO WHERE CAT_COD='".$codigoArt."' ";
$rs=odbc_exec($conn,$sql);
$artcodigo=trim(odbc_result($rs,"CAT_COD"));
$artdescripcion=trim(odbc_result($rs,"CAT_DESC"));
$artunidad=trim(odbc_result($rs,"CAT_UNIDAD"));

?>
<SCRIPT>
insertar('<? echo $artcodigo;?>','<? echo $artdescripcion;?>','<? echo $artunidad;?>');
opener.document.formeditarCP.txtvccArticulo<? echo $i;?>.focus;
//window.close();

</SCRIPT>
</body>
</html>



De antemano muchas gracias
  #11 (permalink)  
Antiguo 24/08/2007, 09:40
 
Fecha de Ingreso: noviembre-2006
Ubicación: República Dominicana
Mensajes: 17
Antigüedad: 18 años
Puntos: 1
Re: Ventanas PopUp

Me gusta el ultimo post, porque va por donde yo necesito...

Tengo una página, con un formulario, el cual para poder llenar cada casilla he de llamar un popup diferente, por ejemplo para llenar la casilla de Provincia llamo el popup que tiene el scrip de provincias, luego para llenar municipio llamo al scrip que contiene los queryes a los municipios pero este solo debe de listarme los municipios de la provincia previamente seleccionada... para ser entrados tanto el codigo (oculto) y la descripción en el formulario Padre.

Alguien tiene algo asi!!!

NO importa cual sea el procedimiento, ahh mi sistema funciona en PHP, MYSQL, APACHE.
  #12 (permalink)  
Antiguo 24/08/2007, 12:31
 
Fecha de Ingreso: noviembre-2006
Ubicación: República Dominicana
Mensajes: 17
Antigüedad: 18 años
Puntos: 1
Re: Ventanas PopUp

Sabemos que las prácticas de los popup es desaconsejada, pero aveces resultan muy utiles estos para popder rellenar ciertas informaciones en formularios.. por ej.: si tengo un formulario que debe de ser llenados con datos de bases de datos muy extensos de tal manera que hay que realizar busquedas para filtrar las informaciones que se desean, entonces lo normal es usar un popup, pero hay poca documentación que de ejemplos de estos, si existe alguna otra alternativa para el tema, me gustaria saber de que manera realizar estas tareas que son muy comunes en los programas de navegadores.

Gracias de antemanos a la comunidad.
  #13 (permalink)  
Antiguo 29/11/2007, 08:34
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 10 meses
Puntos: 6
Re: Ventanas PopUp

Perfecto, me funciona en CS3 desde el navegador, pero si tengo el sfw desde el player, solo abre una ventana en blanco (estoy usando las funciones)
__________________
www.dataautos.com
  #14 (permalink)  
Antiguo 13/12/2007, 17:43
Avatar de FlowerPower  
Fecha de Ingreso: noviembre-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Re: Ventanas PopUp

Necesitas tener tus setting de tu explorador con accesos para que jale el script .js y lo debes jalar desde tu html... a mi me pasaba lo mismo...

Cita:
Iniciado por asinox Ver Mensaje
Perfecto, me funciona en CS3 desde el navegador, pero si tengo el sfw desde el player, solo abre una ventana en blanco (estoy usando las funciones)
  #15 (permalink)  
Antiguo 29/04/2008, 16:01
 
Fecha de Ingreso: febrero-2008
Mensajes: 30
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Ventanas PopUp

Hola amigos soy Nuevo en este foro y mi problema es el sig. quiero hacer varias ventanas en flash movibles y con el boton minimizar y cerrar pero nose ni como empezar ayuda plssssssssssssssssssssss :(
  #16 (permalink)  
Antiguo 29/04/2008, 16:02
 
Fecha de Ingreso: febrero-2008
Mensajes: 30
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Ventanas PopUp

y una cosa mas como haria para mover las ventanitas en las capas o es mediante un codigo o algo
  #17 (permalink)  
Antiguo 10/07/2008, 08:25
 
Fecha de Ingreso: abril-2008
Mensajes: 201
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Ventanas PopUp

Gracias Creativa,
Probé tu código y funciona.
Saludos!
  #18 (permalink)  
Antiguo 13/10/2008, 11:15
 
Fecha de Ingreso: octubre-2004
Mensajes: 18
Antigüedad: 20 años
Puntos: 0
Respuesta: Ventanas PopUp

Muchas gracias por el aporte pero, alguien me da una explicacion logica del porque no sirve localmente ya que yo realizo, la gran parte de mis proyectos localmente luego los pruebo en la web.

Pero con todo muchisimas gracias por el aporte

Saludos
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

SíEste tema le ha gustado a 4 personas




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