Home - ASP - Objeto Window - 1 - 2 - 3
Objeto window y derivados (II)
por Luciano Moreno, del departamento de Diseño Web de BJS Software.
El objeto window.-
Como hemos dicho antes, el objeto window es el padre de todos los demás objetos presentes en un documento web, es el que ocupa la posición jerárquica más elevada, y por sí mismo representa la ventana activa del documento web y todas las demás ventanas derivadas de ella (ventanas independientes abiertas desde la principal, ventanas contenidas en marcos y ventanas de diálogo).
Como objeto que es, el objeto window posée una serie de propiedades, métodos y eventos. Las propiedades van a definir los elementos que van a formar la ventana y la apariencia que va a tener la la misma. Los métodos nos van a permitir realizar acciones con la ventana. Los eventos nos van a facilitar la captura de las acciones que realiza el usuario, permitiéndonos responder a ellas.
Propiedades del objeto window.-
* defaultStatus: configura el mensaje que aparecerá por defecto en la barra de estado del navegador. Ejemplo:
<script
language="VBScript">
window.defaultStatus="Bienvenidos
a HTMLWeb"
</script>
que podéis ver en acción en esta ventana.
* status: configura el mensaje que aparece en la barra de estado en un momento dado, generalmente en respuesta a un evento concreto. Ejemplo:
<script
language="VBScript">
Function
MiStatus()
window.status="Ejemplo
de propiedad status"
End Function
</script>
<form>
<input
type="button" value="pulsame" onClick="MiStatus()">
</form>
que podéis ver en acción en esta ventana.
* name: contiene el nombre de la ventana activa.
* self: contiene una referencia a la propia ventana. Es el mismo objeto window.
* length: contiene el número total de frames incluidos en la ventana. Normalmente se suple su uso mediante la propiedad del mismo nombre del objeto frames.
El objeto window posée también como propiedades un subconjunto de objetos que cuelgan de él, entre los que destacan:
window
y que vamos a ir estudiando en los apartados siguientes.
Métodos del objeto window.-
El objeto window posée dos métodos principales:
* open ( "url", "target", "opciones" ), que permite abrir una nueva ventana, como sub-ventana de la actual, y que recibe o puede recibir los siguientes argumentos:
- url: dirección de la página que queremos que se cargue en la nueva ventana. Puede ser absoluta o relativa a la estructura de directorios del servidor web.
- target: nombre del frame en el que queremos que se cargue la nueva ventana, caso de estar en una página con estructura de frames. Si no es así, la nueva ventana abierta se asignará éste como su nombre propio. Es decir, actúa de forma similar a los enlaces comunes de HTML.
- opciones: conjunto de parejas propiedad=valor separadas por comas y situadas dentro de las dobles comillas, que definen las propiedades de la nueva ventana, de acuerdo a la siguiente tabla:
| propiedad | tipo de dato | explicación |
| toolbar | booleano | ventana con barra de herramientas. |
| location | booleano | ventana con barra de direcciones. |
| directories | booleano | ventana con directorios. |
| status | booleano | ventana con barra de estado |
| menubar | booleano | ventana con barra de menús. |
| scrollbars | booleano | ventana con barras de desplazamiento. |
| resizable | booleano | ventana de tamaño redefinible por el usuario. |
| width | píxeles | anchura de la ventana en pixels |
| height | píxeles | altura de la ventana en pixels |
| top | píxeles | posición Y de la ventana en pixels |
| left | píxeles | posición X de la ventana en pixels |
Generalmente se asigna el método anterior a una variable, con lo que el nombre de ésta pasa a ser el name de la ventana abierta:
var MiVentana = window.open("a.html","","width=200,height=200")
Ejemplo:
<script language="VBScript">
Function
MiVentana()
window.open"http://www.yahoo.es","una","toolbar=0,location=0,width=780,height=400,top=0,left=5"
End Function
</script>
<form>
<center><input type="button" value="pulsame"
onClick="MiVentana()"></center>
</form>
que podéis ver en acción pinchando el siguiente botón:
Nota como he suprimido los paréntesis al llamar a open() desde otra función; si no lo hacemos así obtendremos un error en tiempo de ejecución.
* close(): que permite cerrar una ventana concreta. Podemos cerrar cada una de las ventanas activas mediante el name de las mismas:
window.close() ó self.close....cierra la ventana activa, la que contiene al método.
window.nombre.close().........cierra la ventana con name="nombre".
Puedes ver un ejemplo pulsando el siguiente botón:
En caso de ordenar el cierre de una ventana que no haya sido abierta previamente mediante el método window.open(), el navegador nos pedirá antes permiso para cerrarla.
Eventos del objeto window.-
El objeto window soporta dos eventos principales:
* onLoad: que se activa cuando se acaba de cargar la página.
* onUnload: que se activa cuando se cierra la ventana.
Ejemplo:
<head>
<script
language="VBScript">
Function
MiLoad()
msgBox "Evento
onLoad"
End Function
Function
MiUnload()
msgBox "Evento
Unload"
End
Function
</script>
</head>
<body onLoad="MiLoad()" onUnload="MiUnload">
que podéis ver en acción en esta ventana.