Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Flash y Actionscript (http://www.forosdelweb.com/f16/)
-   -   Ventanas PopUp (http://www.forosdelweb.com/f16/ventanas-popup-280694/)

TMeister 17/03/2005 15:35

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!! ;-)

pulento 18/03/2005 04:17

Upssssss...

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

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

Salu2

lamony 26/08/2005 07:00

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

NBuchhorsts 27/09/2005 13:55

No funciona...
Uso flash 8...

pituu2 13/10/2005 12:52

a mi tmpoco
 
a mi tmpoco me funciona y tambien tengo f 8

godie 08/11/2005 01:10

ayuda con el codigo pop up
 
:-D 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

lbenz 18/12/2005 18:13

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???

creativa 02/04/2006 19:16

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.

CarlitosN 04/10/2006 16:18

La causa del error
 
Hola a todos:
La verdad yo tambien soy nuevo en esto, pero les doy un alcance... :si:
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 :aplauso:

EDWINSANCHEZ 18/06/2007 08:17

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

sabigual 24/08/2007 09:40

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.

sabigual 24/08/2007 12:31

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.

asinox 29/11/2007 08:34

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)

FlowerPower 13/12/2007 17:43

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 (Mensaje 2201300)
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)


dksiul2811 29/04/2008 16:01

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 :(

dksiul2811 29/04/2008 16:02

Re: Ventanas PopUp
 
y una cosa mas como haria para mover las ventanitas en las capas o es mediante un codigo o algo

GUSUM 10/07/2008 08:25

Respuesta: Ventanas PopUp
 
Gracias Creativa,
Probé tu código y funciona.
Saludos!

ICCsoft 13/10/2008 11:15

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


La zona horaria es GMT -6. Ahora son las 21:50.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.