Foros del Web » Programando para Internet » Javascript »

Enseñar Popup una vez cargado

Estas en el tema de Enseñar Popup una vez cargado en el foro de Javascript en Foros del Web. Hola a todos, me gustaría solucionar un problema que tengo un tanto especial. Desde una página ASP llamo a un popup el cual tiene que ...
  #1 (permalink)  
Antiguo 10/02/2010, 04:11
 
Fecha de Ingreso: abril-2005
Mensajes: 12
Antigüedad: 19 años, 8 meses
Puntos: 0
Enseñar Popup una vez cargado

Hola a todos,
me gustaría solucionar un problema que tengo un tanto especial.
Desde una página ASP llamo a un popup el cual tiene que cargar un ACtivex. Pero me gustaría que ese popup no fuera visible hasta que el ActiveX estuviera cargado.

Había pensado en algo de Ajax y que me devolviera un status para poder hacerla visible. Pero no se muy bien como abrir un popup con una llamada Ajax.

Alguna idea afortunada?

Muchas gracias.
  #2 (permalink)  
Antiguo 15/12/2011, 17:02
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 21 años, 6 meses
Puntos: 13
Respuesta: Enseñar Popup una vez cargado

Para abrir ese popup tienes que llamar a la funcion javascript que te lo abre. Eso con ajax no es fácil pero tampoco es imposible:

Una forma muy rudimentaria pero que te puede servir para salir del paso es cargando una imagen enana 1px x 1px y con el onload de la imagen llamar a la funcion javascript:

Código:
<script language="javascript" type="text/javascript">
////Funciones para AJAX
function objetoAjax(){
   var xmlhttp=false;
      try {
         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (E) {
            xmlhttp = false;
         }
      }
   
      if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
         xmlhttp = new XMLHttpRequest();
      }
   return xmlhttp;
}

// Esta función cargará las paginas
function llamarasincrono(url, id_contenedor){
   ajax = objetoAjax();
   ajax.onreadystatechange=function(){ // función de respuesta
      if (ajax.readyState == 4){
         retornado = cargarpagina(ajax, id_contenedor);
		 eval(retornado);
      }
      //alert(retornado);
      
   }   
   ajax.open('GET', url, true); // asignamos los métodos open y send
   ajax.send(null);
}
function cargarpagina(pagina_requerida, id_contenedor){
      //creo unas variables para trabajar los datos
      var valor = pagina_requerida.responseText;
      var elem = valor.split('[JS]');

      document.getElementById(id_contenedor).innerHTML = elem[0];
      //alert(elem[1].length);
      return elem[1];
}
function abrepopup(){
// abrimos el popup
}

</script>

</head> 
<body> 

<p>aqui se carga el contenido</p>

<div id="informacion" style="position:absolute;top:10px;left:10px"></div> 

<script type="text/javascript"> 
setInterval ("llamarasincrono('hijo.php', 'informacion');", 300);

</script>
en la página hijo.php

Código:
<img src="laimagen.png" onload="abrepopup();" width="1" height="1" />
La imagen debe de existir.
Ya te digo que es muy rudimentario pero fucniona para ejecutar funciones javascript desde la página hija

Etiquetas: ajax, loading, popup
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:13.