Es el objeto que esta más alto dentro de toda la jerarquía y el encargado de representar la ventana del navegador donde se esta visualizando la pagina. Si utilizamos un navegador que maneje pestañas (como Firefox o IE8), cada una de ellas tendrá su propio objeto window ya que en definitiva se trata de paginas distintas.
Para obtener sus colecciones de objetos, propriedades o métodos no es necesario hacer referencia siempre a window ya que JavaScript nos permite esta pequeña comodidad al tratarse del más alto de la jerarquía.
PROPIEDADES
A continuación listaré la mayoría de las propiedades que tenemos a mano con el objeto window que no son pocas:
- length: Fija o devuelve el numero de marcos de la ventana actual.
- name: Fija o devuelve el nombre de la ventana que nos servirá para referirnos a ella en el código. No lo confunda con el titulo de la pagina que aparece en la parte superior izquierda.
- menubar: Nos devuelve un objeto que presenta la barra de menú del navegador.
- toolbar: Nos devuelve un objeto que representa la barra de herramientas del navegador.
- statusbar: Igual que el anterior pero con la barra de estado.
- defaultStatus: Nos permite fijar u obtener el mensaje por defecto que se muestra en la barra de estado. Esta propiedad no es compatible en Firefox por defecto.
- status: Nos permite modificar el texto de la barra de estado. Esta propiedad no es compatible en Firefox por defecto.
- scrollbars: Nos devuelve el objeto que simboliza las barras de desplazamiento.
- location, history, document: Nos devuelve los objetos location, history y document, los explicaré más adelante de forma individual.
- outerHeight, outherWidth: Establece o devuelve el tamaño en pixels, del espacio de toda la ventana en vertical u horizontal, respectivamente. Este valor incluye las barras de desplazamiento, de herramientas, etc..
- innerHeight, innerWidth: Obtiene la altura o anchura, en pixels, del espacio donde se visualiza propiamente la pagina. Este valor tiene en cuenta las barras de desplazamiento, si hubiera pero excluye todas las demás (menú, herramientas, estado, etc..)
- parent: Se refiere a la ventana donde está situado el marco (<FRAMESET>) en el que estamos trabajando. En caso de no haber marcos en la página, equivale a la propia ventana.
- top: Devuelve la ventana que se encuentra un nivel por encima del marco actual. Si no hay marcos en la pagina, devuelve la propia ventana.
- self: Se refiere a la ventana actual.
- opener: Hace referencia a la ventana que abrió la actual (ventana emergente o pop-up). Si la ventana no fue abierta por otra, obtendremos un valor undefined.
- closed: Nos indica si la ventana está cerrada o no a través de un valor booleano.
MÉTODOS
Entre los métodos del objeto window encontraremos muchas funcionalidades de utilidad para aportar más dinamismo a nuestras páginas.
- alert(mensaje): Todo un clásico. Ahora ya sabes de donde viene! Muestra un mensaje en un cuadro de diálogo con el botón Aceptar.
- confirm(mensaje): Muestra un mensaje en un cuadro de diálogo pero, a diferencia de alert, muestra los botones Aceptar y Cancelar. Además, nos permite saber sobre qué botón se ha hecho clic, ya que devuelve un valor true para Aceptar y false para Cancelar.
- prompt(mensaje, valor_por_defecto): Este método es una extensión de confirm, ya que incluye una caja de texto par recoger un valor escrito por el usuario, el cual además es devuelto, Opcionalmente podemos indicar un valor que será mostrado por defecto en la caja de texto cuando se muestre el mensaje, Si el usuario hace clic sobre Cancelar obtendremos un valor null.
- focus(), blur(): Establece o retira el foco de un objeto. Se dice que un objeto tiene el foco cuando lo estamos utilizando (por ejemplo, escribiendo en un cuadro de texto) y lo pierde cuando dejamos de usarlo. Con estos métodos podemos forzar estas situaciones.
- moveBy(x,y): Desplaza la ventana el numero de pixeles indicados. La x indica el desplazamiento horizontal y la y el vertical.
- moveTo(x,y): Mueve la ventana a la una posición concreta.
- resizeBy(x,y): Redimensiona la ventana tantos pixeles como indiquen los parámetros. La x se refiere a la anchura y la y a la altura.
- resizeTo(x,y): Establece una anchura y altura concretas a la ventana.
- scrollBy(x,y): Realiza un desplazamiento horizontal y/o vertical de tantos pixeles como marquen los parámetros.
- scrollTo(x,y): Realiza un desplazamiento horizontal y /o vertical hasta una posición concreta.
- open(URL, nombre, parámetros): Crea una nueva ventana (normalmente un pop-up) en la que se carga el URL especificado. Esta ventana recibe también un nombre para identificarla y, opcionalmente, una serie de parámetros que se pasan como una cadena de pares «propiedad=valor» separados por comas, siendo yes o 1 valores positivos, y no o 0 los negativos. Pasemos a ver los cuales podemos incluir:
- toolbar: Nos permite indicar si la ventana tendrá barra de herramientas o no.
- menubar: Muestra u oculta la barra de menús de la nueva ventana.
- location: Nos permite mostrar u ocultar la barra de direcciones en la nueva ventana.
- directories: Nos deja indicar si la nueva ventana tendrá barras de dirección o no.
- scrollbars: Nos deja indicar si la nueva ventana tendrá barras de desplazamiento o no.
- status: Nos permite controlar la visibilidad de la barra de estado.
- resizable: Permite establecer si la nueva ventana podrá ser cambiada de tamaña (con el ratón) o no.
- fullscreen: Nos deja indicar si la ventana se verá a pantalla completa o no.
- width, height: Con esto establecemos el ancho o alta que tendrá la ventana en pixels.
- top,letf: Podemos indicar la distancia, en pixels, a la que estará la ventana respecto al lado superior o izquierdo de la pantalla.
Este método devuelve un identificador para la ventana que hemos abierto (para poder hacer referencia a ella después) o un valor null si la ventana no pudo abrirse (por ejemplo a causa del un bloque de ventanas emergentes). Se puede decir que el método open crea una instancia del objeto window.
- close(): Cierra la ventana actual.
- print(): Manda imprimir la página que estemos viendo.
- setInterval(expresión, milisegundos): Evalúa una expresión continuamente después de que hayan pasado el numero de milisegundos especificados. Este método nos devuelve un identificador, que podrá ser utilizado para detener su ejecución.
- setTimeout(expresión,milisegundos): Evalúa una expresión una única vez después de esperar a que pasen el numero de milisegundos indicados. Este método también nos devuelve un identificador para poder cancelar esta ejecución antes de que ocurra.
- clearInterval(identificador), clearTimeout(identificador): Cancelan respectivamente la ejecución de setInterval y setTimetout a través del identificador pasado como parámetro.
Si quieres leer más sobre éstas últimas funciones puedes leer el siguiente artículo: funciones Javascript – setInterval() clearInterval() setTimeout() – 2
Referencia: Guía Práctica Anaya – Javascript edición 2012
Muchas gracias.. ^^
Información concisa y concreta. Gs.
Faltaron los ejemplos