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.
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.cachesRead only Contexto seguro-
Devuelve el objeto
CacheStorageasociado al contexto actual. Este objeto permite funcionalidades como almacenar recursos para su uso sin conexión y generar respuestas personalizadas a las solicitudes. Window.clientInformationRead only-
Un alias de
Window.navigator. Window.closedRead only-
Esta propiedad indica si la ventana actual está cerrada o no.
-
Devuelve una referencia al objeto
CookieStorepara el contexto del documento actual. Window.crashReportRead only Contexto seguro-
Devuelve un objeto
CrashReportContextque permite registrar datos arbitrarios para el contexto de navegación de nivel superior actual, los cuales se agregan a unCrashReporty se envían a un endpoint de informes cuando se produce un fallo del navegador. Window.credentiallessRead 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.crossOriginIsolatedRead only-
Devuelve un valor booleano que indica si el sitio web se encuentra en un estado de aislamiento de origen cruzado.
Window.cryptoRead only-
Devuelve el objeto
Cryptoasociado al objeto global. Window.customElementsRead 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.devicePixelRatioRead only-
Devuelve la relación entre los píxeles físicos y los píxeles independientes del dispositivo en la pantalla actual.
Window.documentRead only-
Devuelve una referencia al documento que contiene la ventana.
Window.documentPictureInPictureRead only Contexto seguro-
Devuelve una referencia a la ventana Picture-in-Picture del documento para el contexto del documento actual.
Window.fenceRead only-
Devuelve una instancia del objeto
Fencepara el contexto del documento actual. Solo está disponible para documentos incrustados dentro de un<fencedframe>. Window.frameElementRead only-
Devuelve el elemento en el que está incrustada la ventana, o null si la ventana no está incrustada.
Window.framesRead 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.historyRead only-
Devuelve una referencia al objeto history.
Window.indexedDBRead 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.innerHeightRead only-
Obtiene la altura del área de contenido de la ventana del navegador, que incluye la barra de desplazamiento horizontal si se muestra.
Window.innerWidthRead only-
Obtiene el ancho del área de contenido de la ventana del navegador, que incluye la barra de desplazamiento vertical si se muestra.
Window.isSecureContextRead only-
Devuelve un booleano que indica si el contexto actual es seguro (
true) o no (false). Window.launchQueueRead only-
Cuando una aplicación web progresiva (PWA) se inicia con un valor de
client_modedelaunch_handlerigual afocus-existing,navigate-newonavigate-existing,launchQueueproporciona acceso a la claseLaunchQueue, que permite implementar un manejo personalizado de la navegación de inicio para la PWA. Window.lengthRead only-
Devuelve el número de frames de la ventana. Consulta también
window.frames. Window.localStorageRead 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.locationbarRead only-
Devuelve el objeto locationbar.
-
Devuelve el objeto menubar.
Window.mozInnerScreenXRead 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
mozScreenPixelsPerCSSPixelennsIDOMWindowUtilspara obtener un factor de conversión a píxeles de pantalla si lo necesitas. Window.mozInnerScreenYRead 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
mozScreenPixelsPerCSSPixelpara obtener un factor de conversión a píxeles de pantalla si lo necesitas. Window.name-
Obtiene o establece el nombre de la ventana.
-
Devuelve el objeto
Navigationasociado a lawindowactual. Es el punto de entrada de la Navigation API. -
Devuelve una referencia al objeto navigator.
Window.opener-
Devuelve una referencia a la ventana que abrió la ventana actual.
Window.originRead only-
Devuelve el origen del objeto global, serializado como una cadena de texto.
Window.originAgentClusterRead only-
Devuelve
truesi esta ventana pertenece a un clúster de agentes con clave de origen. Window.outerHeightRead only-
Obtiene la altura exterior de la ventana del navegador.
Window.outerWidthRead only-
Obtiene el ancho exterior de la ventana del navegador.
Window.pageXOffsetRead only-
Un alias de
window.scrollX. Window.pageYOffsetRead only-
Un alias de
window.scrollY. Window.parentRead only-
Devuelve una referencia al padre de la ventana o subframe actual.
Window.performanceRead only-
Devuelve un objeto
Performance, que incluye los atributostimingynavigation, 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.personalbarRead only-
Devuelve el objeto personalbar.
Window.schedulerRead only-
Devuelve el objeto
Schedulerasociado al contexto actual. Este es el punto de entrada para usar la Prioritized Task Scheduling API. Window.screenRead only-
Devuelve una referencia al objeto screen asociado a la ventana.
Window.screenXyWindow.screenLeftRead 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.screenYyWindow.screenTopRead 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.scrollbarsRead only-
Devuelve el objeto scrollbars.
Window.scrollMaxXRead only-
El desplazamiento máximo horizontal posible de la ventana, es decir, el ancho del documento menos el ancho del viewport.
Window.scrollMaxYRead only-
El desplazamiento máximo vertical posible de la ventana (es decir, la altura del documento menos la altura del viewport).
Window.scrollXRead only-
Devuelve el número de píxeles que el documento ya se ha desplazado horizontalmente.
Window.scrollYRead only-
Devuelve el número de píxeles que el documento ya se ha desplazado verticalmente.
Window.selfRead 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ó.
-
Devuelve el objeto
WindowSharedStoragepara el origen actual. Es el punto de entrada principal para escribir datos en el almacenamiento compartido usando la Shared Storage API. Window.speechSynthesisRead 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.statusbarRead only-
Devuelve el objeto statusbar.
Window.toolbarRead only-
Devuelve el objeto toolbar.
Window.topRead only-
Devuelve una referencia a la ventana más alta de la jerarquía de ventanas. Esta propiedad es de solo lectura.
Window.trustedTypesRead only-
Devuelve el objeto
TrustedTypePolicyFactoryasociado al objeto global, que proporciona el punto de entrada para usar la Trusted Types API. Window.viewportRead only-
Devuelve una instancia del objeto
Viewport, que proporciona información sobre el estado actual del viewport del dispositivo. Window.visualViewportRead only-
Devuelve un objeto
VisualViewportque representa el viewport visual de una ventana determinada. Window.windowRead only-
Devuelve una referencia a la ventana actual.
window[0],window[1], etc.-
Devuelve una referencia al objeto
windowen los frames. ConsultaWindow.framespara 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 suname(si no está vacío). Por ejemplo, si el documento contiene<form name="my_form">, entonceswindow["my_form"](y su equivalentewindow.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
HTMLCollectionque contiene todos ellos. Si alguno de los elementos es un<iframe>o<object>navegable, en su lugar se devuelve elcontentWindowdel primer iframe de ese tipo. - Para cada elemento
Propiedades obsoletas
Window.eventRead only-
Devuelve el evento actual, es decir, el evento que se está gestionando en el contexto del código JavaScript, o
undefinedsi no se está gestionando ningún evento en ese momento. Siempre que sea posible, debe usarse en su lugar el objetoEventque se pasa directamente a los manejadores de eventos. Window.externalRead only-
Devuelve un objeto con funciones para añadir proveedores de búsqueda externos al navegador.
Window.orientationRead 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
Promiseque se resuelve con unImageBitmap. 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
Promiseque se resuelve con una instancia del objetoScreenDetails, 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
MediaQueryListque 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
Promiseque se resuelve con un array de objetosFontDataque 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
WebKitPointdel sistema de coordenadas del nodo al sistema de coordenadas de la página. Window.webkitConvertPointFromPageToNode()-
Transforma un
WebKitPointdel 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 (
localStorageosessionStorage) en el contexto de otro documento.
Eventos de conexión
Eventos de orientación del dispositivo
devicemotionContexto 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.
deviceorientationContexto 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.
deviceorientationabsoluteContexto 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
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
Windowrecibe 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
Promisede JavaScript es rechazada, independientemente de si hay o no un manejador para capturar el rechazo. unhandledrejection-
Se envía cuando una
Promisede 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:
abortauxclickbeforeinputbeforematchbeforetogglecancelcanplaycanplaythroughchangeclickclosecontextlostcontextmenucontextrestoredcopycuechangecutdblclickdragdragenddragenterdragleavedragoverdragstartdropdurationchangeemptiedendedformdatainputinvalidkeydownkeypresskeyuploadeddataloadedmetadataloadstartmousedownmouseentermouseleavemousemovemouseoutmouseovermouseuppastepauseplayplayingprogressratechangeresetscrollendsecuritypolicyviolationseekedseekingselectslotchangestalledsubmitsuspendtimeupdatetogglevolumechangewaitingwheel
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
oneventnamedel elemento en JavaScript. - Añadir un atributo con prefijo
onal 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:
afterprintbeforeprintbeforeunloadblurerrorfocushashchangelanguagechangeloadmessagemessageerrorofflineonlinepagehidepagerevealpageshowpageswappopstaterejectionhandledresizescrollstorageunhandledrejectionunload
Esto significa que lo siguiente es estrictamente equivalente:
window.onresize = (e) => console.log(e.currentTarget);
document.body.onresize = (e) => console.log(e.currentTarget);
<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> |