Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

Window

Baseline
Widely available
*

This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.

* Some parts of this feature may have varying levels of support.

La interfaz Window representa una ventana que contiene un documento DOM; la propiedad document apunta al documento DOM cargado en esa ventana.

Se puede obtener la ventana correspondiente a un documento específico mediante la propiedad document.defaultView.

El código JavaScript tiene acceso a una variable global llamada window, que representa la ventana en la que se está ejecutando el script.

La interfaz Window alberga una gran variedad de funciones, namespaces, objetos y constructores que no están necesariamente asociados de forma directa con el concepto de ventana de una interfaz de usuario. Sin embargo, la interfaz Window resulta un lugar adecuado para incluir estos elementos que deben estar disponibles de forma global. Muchos de ellos están documentados en la Referencia de JavaScript y en la Referencia del DOM.

En un navegador con pestañas, cada pestaña está representada por su propio objeto Window; la variable global window que ve el código JavaScript que se ejecuta dentro de una pestaña determinada representa siempre la pestaña en la que se está ejecutando ese código. Dicho esto, incluso en un navegador con pestañas, algunas propiedades y métodos siguen aplicándose a la ventana general que contiene la pestaña, como resizeTo() y innerHeight. En general, todo lo que no pueda pertenecer razonablemente a una pestaña pertenece en su lugar a la ventana.

EventTarget Window

Propiedades de instancia

Esta interfaz hereda propiedades de la interfaz EventTarget.

Ten en cuenta que las propiedades que son objetos (por ejemplo, para sobrescribir el prototipo de elementos integrados) se muestran en una sección independiente más abajo.

Window.caches Read only Contexto seguro

Devuelve el objeto CacheStorage asociado al contexto actual. Este objeto permite funcionalidades como almacenar recursos para su uso sin conexión y generar respuestas personalizadas a las solicitudes.

Window.clientInformation Read only

Un alias de Window.navigator.

Window.closed Read only

Esta propiedad indica si la ventana actual está cerrada o no.

Window.cookieStore Read only Contexto seguro

Devuelve una referencia al objeto CookieStore para el contexto del documento actual.

Window.crashReport Read only Contexto seguro

Devuelve un objeto CrashReportContext que permite registrar datos arbitrarios para el contexto de navegación de nivel superior actual, los cuales se agregan a un CrashReport y se envían a un endpoint de informes cuando se produce un fallo del navegador.

Window.credentialless Read only

Devuelve un booleano que indica si el documento actual se cargó dentro de un <iframe> sin credenciales. Consulta IFrame credentialless para más información.

Window.crossOriginIsolated Read only

Devuelve un valor booleano que indica si el sitio web se encuentra en un estado de aislamiento de origen cruzado.

Window.crypto Read only

Devuelve el objeto Crypto asociado al objeto global.

Window.customElements Read only

Devuelve una referencia al objeto CustomElementRegistry, que puede usarse para registrar nuevos elementos personalizados y obtener información sobre elementos personalizados registrados previamente.

Window.devicePixelRatio Read only

Devuelve la relación entre los píxeles físicos y los píxeles independientes del dispositivo en la pantalla actual.

Window.document Read only

Devuelve una referencia al documento que contiene la ventana.

Window.documentPictureInPicture Read only Contexto seguro

Devuelve una referencia a la ventana Picture-in-Picture del documento para el contexto del documento actual.

Window.fence Read only

Devuelve una instancia del objeto Fence para el contexto del documento actual. Solo está disponible para documentos incrustados dentro de un <fencedframe>.

Window.frameElement Read only

Devuelve el elemento en el que está incrustada la ventana, o null si la ventana no está incrustada.

Window.frames Read only

Devuelve un array con los subframes de la ventana actual.

Window.fullScreen

Esta propiedad indica si la ventana se muestra a pantalla completa o no.

Window.history Read only

Devuelve una referencia al objeto history.

Window.indexedDB Read only

Proporciona un mecanismo para que las aplicaciones accedan de forma asíncrona a las capacidades de las bases de datos indexadas; devuelve un objeto IDBFactory.

Window.innerHeight Read only

Obtiene la altura del área de contenido de la ventana del navegador, que incluye la barra de desplazamiento horizontal si se muestra.

Window.innerWidth Read only

Obtiene el ancho del área de contenido de la ventana del navegador, que incluye la barra de desplazamiento vertical si se muestra.

Window.isSecureContext Read only

Devuelve un booleano que indica si el contexto actual es seguro (true) o no (false).

Window.launchQueue Read only

Cuando una aplicación web progresiva (PWA) se inicia con un valor de client_mode de launch_handler igual a focus-existing, navigate-new o navigate-existing, launchQueue proporciona acceso a la clase LaunchQueue, que permite implementar un manejo personalizado de la navegación de inicio para la PWA.

Window.length Read only

Devuelve el número de frames de la ventana. Consulta también window.frames.

Window.localStorage Read only

Devuelve una referencia al objeto de almacenamiento local usado para guardar datos a los que solo puede acceder el origen que los creó.

Window.location

Obtiene o establece la ubicación, o URL actual, del objeto window.

Window.locationbar Read only

Devuelve el objeto locationbar.

Window.menubar Read only

Devuelve el objeto menubar.

Window.mozInnerScreenX Read only

Devuelve la coordenada horizontal (X) de la esquina superior izquierda del viewport de la ventana, en coordenadas de pantalla. Este valor se expresa en píxeles CSS. Consulta mozScreenPixelsPerCSSPixel en nsIDOMWindowUtils para obtener un factor de conversión a píxeles de pantalla si lo necesitas.

Window.mozInnerScreenY Read only

Devuelve la coordenada vertical (Y) de la esquina superior izquierda del viewport de la ventana, en coordenadas de pantalla. Este valor se expresa en píxeles CSS. Consulta mozScreenPixelsPerCSSPixel para obtener un factor de conversión a píxeles de pantalla si lo necesitas.

Window.name

Obtiene o establece el nombre de la ventana.

Window.navigation Read only

Devuelve el objeto Navigation asociado a la window actual. Es el punto de entrada de la Navigation API.

Window.navigator Read only

Devuelve una referencia al objeto navigator.

Window.opener

Devuelve una referencia a la ventana que abrió la ventana actual.

Window.origin Read only

Devuelve el origen del objeto global, serializado como una cadena de texto.

Window.originAgentCluster Read only

Devuelve true si esta ventana pertenece a un clúster de agentes con clave de origen.

Window.outerHeight Read only

Obtiene la altura exterior de la ventana del navegador.

Window.outerWidth Read only

Obtiene el ancho exterior de la ventana del navegador.

Window.pageXOffset Read only

Un alias de window.scrollX.

Window.pageYOffset Read only

Un alias de window.scrollY.

Window.parent Read only

Devuelve una referencia al padre de la ventana o subframe actual.

Window.performance Read only

Devuelve un objeto Performance, que incluye los atributos timing y navigation, cada uno de los cuales es un objeto que proporciona datos relacionados con el rendimiento. Consulta también Uso de Navigation Timing para más información y ejemplos.

Window.personalbar Read only

Devuelve el objeto personalbar.

Window.scheduler Read only

Devuelve el objeto Scheduler asociado al contexto actual. Este es el punto de entrada para usar la Prioritized Task Scheduling API.

Window.screen Read only

Devuelve una referencia al objeto screen asociado a la ventana.

Window.screenX y Window.screenLeft Read only

Ambas propiedades devuelven la distancia horizontal desde el borde izquierdo de la ventana del navegador del usuario hasta el lado izquierdo de la pantalla.

Window.screenY y Window.screenTop Read only

Ambas propiedades devuelven la distancia vertical desde el borde superior de la ventana del navegador del usuario hasta la parte superior de la pantalla.

Window.scrollbars Read only

Devuelve el objeto scrollbars.

Window.scrollMaxX Read only

El desplazamiento máximo horizontal posible de la ventana, es decir, el ancho del documento menos el ancho del viewport.

Window.scrollMaxY Read only

El desplazamiento máximo vertical posible de la ventana (es decir, la altura del documento menos la altura del viewport).

Window.scrollX Read only

Devuelve el número de píxeles que el documento ya se ha desplazado horizontalmente.

Window.scrollY Read only

Devuelve el número de píxeles que el documento ya se ha desplazado verticalmente.

Window.self Read only

Devuelve una referencia al propio objeto window.

Window.sessionStorage

Devuelve una referencia al objeto de almacenamiento de sesión usado para guardar datos a los que solo puede acceder el origen que los creó.

Window.sharedStorage Read only Contexto seguro

Devuelve el objeto WindowSharedStorage para el origen actual. Es el punto de entrada principal para escribir datos en el almacenamiento compartido usando la Shared Storage API.

Window.speechSynthesis Read only

Devuelve un objeto SpeechSynthesis, que es el punto de entrada para usar la funcionalidad de síntesis de voz de la Web Speech API.

Window.statusbar Read only

Devuelve el objeto statusbar.

Window.toolbar Read only

Devuelve el objeto toolbar.

Window.top Read only

Devuelve una referencia a la ventana más alta de la jerarquía de ventanas. Esta propiedad es de solo lectura.

Window.trustedTypes Read only

Devuelve el objeto TrustedTypePolicyFactory asociado al objeto global, que proporciona el punto de entrada para usar la Trusted Types API.

Window.viewport Read only

Devuelve una instancia del objeto Viewport, que proporciona información sobre el estado actual del viewport del dispositivo.

Window.visualViewport Read only

Devuelve un objeto VisualViewport que representa el viewport visual de una ventana determinada.

Window.window Read only

Devuelve una referencia a la ventana actual.

window[0], window[1], etc.

Devuelve una referencia al objeto window en los frames. Consulta Window.frames para más información.

Propiedades con nombre

Algunos elementos del documento también se exponen como propiedades de window:

  • Para cada elemento <embed>, <form>, <iframe>, <img> y <object>, se expone su name (si no está vacío). Por ejemplo, si el documento contiene <form name="my_form">, entonces window["my_form"] (y su equivalente window.my_form) devuelve una referencia a ese elemento.
  • Para cada elemento HTML, se expone su id (si no está vacío).

Si una propiedad corresponde a un único elemento, ese elemento se devuelve directamente. Si la propiedad corresponde a varios elementos, se devuelve un HTMLCollection que contiene todos ellos. Si alguno de los elementos es un <iframe> o <object> navegable, en su lugar se devuelve el contentWindow del primer iframe de ese tipo.

Propiedades obsoletas

Window.event Read only

Devuelve el evento actual, es decir, el evento que se está gestionando en el contexto del código JavaScript, o undefined si no se está gestionando ningún evento en ese momento. Siempre que sea posible, debe usarse en su lugar el objeto Event que se pasa directamente a los manejadores de eventos.

Window.external Read only

Devuelve un objeto con funciones para añadir proveedores de búsqueda externos al navegador.

Window.orientation Read only

Devuelve la orientación en grados (en incrementos de 90 grados) del viewport con respecto a la orientación natural del dispositivo.

Window.status

Obtiene o establece el texto de la barra de estado situada en la parte inferior del navegador.

Métodos de instancia

Esta interfaz hereda métodos de la interfaz EventTarget.

Window.atob()

Decodifica una cadena de datos codificada en base64.

Window.alert()

Muestra un cuadro de diálogo de alerta.

Window.blur()

Quita el foco de la ventana.

Window.btoa()

Crea una cadena ASCII codificada en base64 a partir de una cadena de datos binarios.

Window.cancelAnimationFrame()

Permite cancelar un callback previamente programado con Window.requestAnimationFrame.

Window.cancelIdleCallback()

Permite cancelar un callback previamente programado con Window.requestIdleCallback.

Window.clearInterval()

Cancela la ejecución repetida establecida usando Window.setInterval().

Window.clearTimeout()

Cancela la ejecución diferida establecida usando Window.setTimeout().

Window.close()

Cierra la ventana actual.

Window.confirm()

Muestra un cuadro de diálogo con un mensaje al que el usuario debe responder.

Window.createImageBitmap()

Acepta distintas fuentes de imagen y devuelve una Promise que se resuelve con un ImageBitmap. Opcionalmente, la fuente se recorta al rectángulo de píxeles con origen en (sx, sy) con ancho sw y alto sh.

Window.dump()

Escribe un mensaje en la consola.

Window.fetch()

Inicia el proceso de obtención de un recurso desde la red.

Window.fetchLater()

Crea una solicitud fetch diferida, que se envía en cuanto se navega fuera de la página (esta se destruye o entra en la bfcache), o transcurrido el tiempo de espera indicado en activateAfter, lo que ocurra primero.

Window.find()

Busca una cadena de texto específica en una ventana.

Window.focus()

Establece el foco en la ventana actual.

Window.getComputedStyle()

Obtiene el estilo calculado del elemento especificado. El estilo calculado indica los valores resultantes de todas las propiedades CSS del elemento.

Window.getDefaultComputedStyle()

Obtiene el estilo calculado predeterminado del elemento especificado, ignorando las hojas de estilo del autor.

Window.getScreenDetails() Contexto seguro

Devuelve una Promise que se resuelve con una instancia del objeto ScreenDetails, la cual representa los detalles de todas las pantallas disponibles en el dispositivo del usuario.

Window.getSelection()

Devuelve el objeto de selección que representa los elementos seleccionados.

Window.matchMedia()

Devuelve un objeto MediaQueryList que representa la cadena de consulta de medios especificada.

Window.moveBy()

Mueve la ventana actual una cantidad especificada.

Window.moveTo()

Mueve la ventana a las coordenadas especificadas.

Window.open()

Abre una nueva ventana.

Window.postMessage()

Proporciona un medio seguro para que una ventana envíe una cadena de datos a otra ventana, que no necesita estar en el mismo dominio que la primera.

Window.print()

Abre el cuadro de diálogo de impresión para imprimir el documento actual.

Window.prompt()

Devuelve el texto introducido por el usuario en un cuadro de diálogo de solicitud.

Window.queryLocalFonts() Contexto seguro

Devuelve una Promise que se resuelve con un array de objetos FontData que representan las fuentes disponibles localmente.

Window.queueMicrotask()

Encola una microtarea para que se ejecute en un momento seguro antes de que el control regrese al bucle de eventos del navegador.

Window.reportError()

Informa de un error en un script, emulando una excepción no controlada.

Window.requestAnimationFrame()

Indica al navegador que hay una animación en curso y le solicita que programe un repintado de la ventana para el siguiente fotograma de animación.

Window.requestIdleCallback()

Permite programar tareas durante los periodos de inactividad del navegador.

Window.requestResize()

Actualiza la información de tamaño que un documento incrustado comparte con su elemento padre, pero solo si el documento incrustado ha optado por compartir esa información.

Window.resizeBy()

Cambia el tamaño de la ventana actual en una cantidad determinada.

Window.resizeTo()

Cambia dinámicamente el tamaño de la ventana.

Window.scroll()

Desplaza la ventana a un lugar específico del documento.

Window.scrollBy()

Desplaza el documento dentro de la ventana la cantidad indicada.

Window.scrollByLines()

Desplaza el documento el número de líneas indicado.

Window.scrollByPages()

Desplaza el documento actual el número de páginas especificado.

Window.scrollTo()

Desplaza la vista a unas coordenadas específicas del documento.

Window.setInterval()

Programa una función para que se ejecute cada vez que transcurre un número determinado de milisegundos.

Window.setTimeout()

Programa una función para que se ejecute pasado un tiempo determinado.

Window.showDirectoryPicker() Contexto seguro

Muestra un selector de directorios que permite al usuario elegir uno.

Window.showOpenFilePicker() Contexto seguro

Muestra un selector de archivos que permite al usuario elegir uno o varios archivos.

Window.showSaveFilePicker() Contexto seguro

Muestra un selector de archivos que permite al usuario guardar un archivo.

Window.sizeToContent()

Ajusta el tamaño de la ventana según su contenido.

Window.stop()

Este método detiene la carga de la ventana.

Window.structuredClone()

Crea una copia profunda de un valor dado mediante el algoritmo de clonación estructurada.

Métodos obsoletos

Window.captureEvents()

Registra la ventana para capturar todos los eventos del tipo especificado.

Window.clearImmediate()

Cancela la ejecución repetida establecida con setImmediate().

Window.releaseEvents()

Libera a la ventana de capturar eventos de un tipo específico.

Window.requestFileSystem()

Permite que un sitio web o una aplicación obtenga acceso a un sistema de archivos aislado para su propio uso.

Window.setImmediate()

Ejecuta una función después de que el navegador haya terminado otras tareas pesadas.

Window.setResizable()

No hace nada (no-op). Se conserva por compatibilidad con versiones anteriores de Netscape 4.x.

Window.webkitConvertPointFromNodeToPage()

Transforma un WebKitPoint del sistema de coordenadas del nodo al sistema de coordenadas de la página.

Window.webkitConvertPointFromPageToNode()

Transforma un WebKitPoint del sistema de coordenadas de la página al sistema de coordenadas del nodo.

Eventos

Escucha estos eventos usando addEventListener() o asignando un detector de eventos a la propiedad oneventname de esta interfaz. Además de los eventos que se muestran a continuación, muchos otros pueden propagarse desde el Document contenido en el objeto window.

error

Se dispara cuando un recurso no se ha podido cargar o no se puede usar. Por ejemplo, si un script tiene un error de ejecución o si una imagen no se encuentra o no es válida.

languagechange

Se dispara en el objeto de ámbito global cuando cambia el idioma preferido del usuario.

resize

Se dispara cuando se cambia el tamaño de la ventana.

storage

Se dispara cuando se modifica un área de almacenamiento (localStorage o sessionStorage) en el contexto de otro documento.

Eventos de conexión

offline

Se dispara cuando el navegador pierde el acceso a la red y el valor de navigator.onLine cambia a false.

online

Se dispara cuando el navegador recupera el acceso a la red y el valor de navigator.onLine cambia a true.

Eventos de orientación del dispositivo

devicemotion Contexto seguro

Se dispara a intervalos regulares e indica la cantidad de fuerza física de aceleración que recibe el dispositivo y su velocidad de rotación, si está disponible.

deviceorientation Contexto seguro

Se dispara cuando hay nuevos datos disponibles del sensor de orientación magnetométrico sobre la orientación actual del dispositivo en comparación con el sistema de coordenadas terrestre.

deviceorientationabsolute Contexto seguro

Se dispara cuando hay nuevos datos disponibles del sensor de orientación magnetométrico sobre la orientación absoluta actual del dispositivo en comparación con el sistema de coordenadas terrestre.

Eventos de foco

blur

Se dispara cuando la ventana pierde el foco.

focus

Se dispara cuando la ventana recibe el foco.

Eventos de gamepad

gamepadconnected

Se dispara cuando el navegador detecta que se ha conectado un gamepad o la primera vez que se usa un botón o eje del gamepad.

gamepaddisconnected

Se dispara cuando el navegador detecta que se ha desconectado un gamepad.

Eventos de historial

hashchange

Se dispara cuando cambia el identificador de fragmento de la URL (la parte de la URL que comienza con el símbolo # y lo que le sigue).

pagehide

Se envía cuando el navegador oculta el documento actual mientras cambia a mostrar en su lugar otro documento del historial de la sesión. Esto ocurre, por ejemplo, cuando el usuario hace clic en el botón Atrás o en el botón Adelante para avanzar en el historial de la sesión.

pagereveal

Se dispara cuando un documento se renderiza por primera vez, ya sea al cargar un documento nuevo desde la red o al activar un documento (desde la caché de atrás/adelante (bfcache) o desde una prerrenderización).

pageshow

Se envía cuando el navegador hace visible el documento como resultado de una tarea de navegación, lo que incluye no solo la primera carga de la página, sino también situaciones como que el usuario regrese a la página tras haber navegado a otra dentro de la misma pestaña.

pageswap

Se dispara cuando un documento está a punto de descargarse debido a una navegación.

popstate

Se dispara cuando cambia la entrada activa del historial.

Eventos de carga y descarga

beforeunload

Se dispara cuando la ventana, el documento y sus recursos están a punto de descargarse.

load

Se dispara cuando la página completa se ha cargado, incluidos todos los recursos dependientes, como hojas de estilo e imágenes.

unload

Se dispara cuando el documento o un recurso hijo se está descargando.

Eventos de manifiesto

appinstalled

Se dispara cuando el navegador ha instalado correctamente una página como aplicación.

beforeinstallprompt

Se dispara cuando está a punto de solicitarse al usuario que instale una aplicación web.

Eventos de mensajería

message

Se dispara cuando la ventana recibe un mensaje, por ejemplo, a partir de una llamada a Window.postMessage() desde otro contexto de navegación.

messageerror

Se dispara cuando un objeto Window recibe un mensaje que no se puede deserializar.

Eventos de impresión

afterprint

Se dispara después de que el documento asociado haya comenzado a imprimirse o se haya cerrado la vista previa de impresión.

beforeprint

Se dispara cuando el documento asociado está a punto de imprimirse o de mostrarse en la vista previa de impresión.

Eventos de rechazo de promesas

rejectionhandled

Se envía cada vez que una Promise de JavaScript es rechazada, independientemente de si hay o no un manejador para capturar el rechazo.

unhandledrejection

Se envía cuando una Promise de JavaScript es rechazada pero no hay un manejador para capturar el rechazo.

Eventos de desplazamiento

scrollsnapchange

Se dispara en el contenedor de desplazamiento al final de una operación de desplazamiento cuando se ha seleccionado un nuevo objetivo de ajuste de desplazamiento.

scrollsnapchanging

Se dispara en el contenedor de desplazamiento cuando el navegador determina que un nuevo objetivo de ajuste de desplazamiento está pendiente, es decir, que será seleccionado al finalizar el gesto de desplazamiento actual.

Eventos obsoletos

orientationchange

Se dispara cuando cambia la orientación del dispositivo.

vrdisplayactivate

Se dispara cuando una pantalla está lista para mostrar contenido.

vrdisplayconnect

Se dispara cuando se conecta al equipo un dispositivo de RV compatible.

vrdisplaydisconnect

Se dispara cuando se desconecta del equipo un dispositivo de RV compatible.

vrdisplaydeactivate

Se dispara cuando una pantalla ya no puede mostrar contenido.

vrdisplaypresentchange

Se dispara cuando cambia el estado de presentación de un dispositivo de RV, es decir, cuando pasa de presentar contenido a dejar de hacerlo, o viceversa.

Eventos de propagación ascendente

No todos los eventos que se propagan por burbujeo pueden llegar al objeto Window. Solo los siguientes lo hacen y pueden escucharse en el objeto Window:

Interfaces

Consulta la Referencia del DOM.

Escuchar eventos en Window

Los elementos HTML tienen tres formas de escuchar eventos:

  • Añadir un detector de eventos al elemento usando el método EventTarget.addEventListener.
  • Asignar un manejador de eventos a la propiedad oneventname del elemento en JavaScript.
  • Añadir un atributo con prefijo on al elemento en el HTML.

Para escuchar eventos en objetos Window, por lo general, solo puedes usar los dos primeros métodos, porque Window no tiene un elemento HTML correspondiente. Sin embargo, existe un grupo específico de eventos cuyos detectores pueden añadirse al elemento <body> (o al elemento <frameset>, ya obsoleto) que posee el documento de Window, usando el segundo o el tercer método. Estos eventos son:

  • afterprint
  • beforeprint
  • beforeunload
  • blur
  • error
  • focus
  • hashchange
  • languagechange
  • load
  • message
  • messageerror
  • offline
  • online
  • pagehide
  • pagereveal
  • pageshow
  • pageswap
  • popstate
  • rejectionhandled
  • resize
  • scroll
  • storage
  • unhandledrejection
  • unload

Esto significa que lo siguiente es estrictamente equivalente:

js
window.onresize = (e) => console.log(e.currentTarget);
document.body.onresize = (e) => console.log(e.currentTarget);
html
<body onresize="console.log(event.currentTarget)"></body>

En los tres casos, verás el objeto Window registrado como currentTarget.

Especificaciones

Specification
HTML
# the-window-object

Compatibilidad con navegadores