Ver Mensaje Individual
  #2  
Antiguo 27-06-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Código PHP:
<html>
<
body>

<
script type="text/javascript">

/* Variable global para guardar una referencia
   a la ventana que abrimos, de manera que luego
   podamos, por ejemplo, cerrarla
*/
var ventana null;

/* Función que abre una ventana en base a los datos
   que pueden definirse en el formulario HTML que se
   verá más abajo.
   
   Como se ve, nos limitamos a recoger los valores
   de los diferentes "inputs" para a continuación
   abrir una ventana, guardando una referencia a la
   misma en la variable global correspondiente.
*/
function AbrirVentana()
{
  var 
urlVentana document.getElementById('urlventana').value;
  var 
nombreVentana document.getElementById('nombreventana').value;
  var 
opcionesVentana document.getElementById('opcionesventana').value;

  
ventana window.open(urlVentananombreVentanaopcionesVentana);

  return;
}

/* No he sido capaz de conseguir refrescar la ventana luego
   de abierta. Lo que se pretende es refrescar el documento
   que se muestre en la ventana, pero, he tratado de hacerlo
   chapuceramente con el "document.location" y no consigo
   sino un "acceso denegado" para acceder a dicho objeto.
   
   Creo que la solución puede pasar por añadir mediante el
   DOM (Document Object Model) al documento cargado en la
   ventana, concretamente, entre las etiquetas "head", una
   meta etiqueta "refresh" que se encarge de llevar a cabo
   la actualización, pero, según escribo esto me entran
   dudas de si esto funcionaría, y, en todo caso, no tengo
   mucha idea de trabajar con el DOM y he sido incapaz
   de añadir dicha meta etiqueta.
*/
function RefrescarVentana()
{
  
// sin implementar
  
return;
}

/* Cerrar la ventana es más o menos sencillo gracias al
   método "Close" conque cuenta. Nos basta la referencia
   de la ventana que habrá de cerrarse, pues, y esta la
   guardamos en la variable global "ventana".
*/
function CerrarVentana()
{
  if(
ventana != null)
    
ventana.close();

  return;
}

</script>

<div>

<!--

  Formulario que nos sirve para poder determinar ciertas opciones
  y valores necesarios para abrir la ventana en cuestión. Nada de
  particular (bajo mi punto de vista), o sea, ningún comentario al
  respecto.

-->
<form action="none" id="datosventana">
 <fieldset>
  <legend>
   Datos para la nueva ventana
  </legend>
  <p>
   <input type="text" name="urlventana" size="60" id="urlventana" value="http://www.google.es" />
   <label for="urlventana">Url</label>
  </p>
  <p>
   <input type="text" name="nombreventana" size="60" id="nombreventana" value="unaventana" />
   <label for="nombreventana">Nombre</label>
  </p>
  <p>
   <input type="text" name="opcionesventana" size="60" id="opcionesventana" value="toolbar=1,resizable=1" />
   <label for="opcionesventana">Opciones</label>
  </p>
  <p>
   <input type="button" onclick="AbrirVentana(); return false;" value="Abrir la ventana" />
   <input type="button" onclick="CerrarVentana(); return false;" value="Cerrar la ventana" />
   <input type="button" onclick="RefrescarVentana(); return false;" value="Refrescar la ventana" />
  </p>
 </fieldset>
</form>

</div>

</body>
</html> 
Nota: Encierro el código entre etiquetas PHP para una mayor legibilidad del mismo: en realidad estamos tratando con código JavaScript y HTML, únicamente.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita