recursal/MDN huggingface dataset:
Window.alert()
==============

 El método `Window.alert()` muestra un diálogo de alerta con un mensaje opcional,
 y aguardará hasta que el usuario cierre la ventana de diálogo.

 En algunas condiciones, por ejemplo — cuando el usuario cambia de pestaña,
 es posible que el navegador no muestre un cuadro de diálogo o que no espere
 a que el usuario cierre el cuadro de diálogo.

Sintaxis
--------


```js
alert();
alert(message);
```

### Parámetros

`message` Opcional

 Es un valor opcional del texto que se desea mostrar en el diálogo de alerta,
 o, alternativamente, un objeto que será convertido a texto y mostrado.


### Valor de retorno

Ninguno (`undefined`).

Ejemplo
-------


```js
window.alert("Hello world!");
alert("Hello world!");
```


Ambos producen:

![](/es/docs/Web/API/Window/alert/alerthelloworld.png)

Notas
-----

 El diálogo `alert` debe ser usado para mensajes que no requieren respuesta por
 parte del usuario, solo el acuse de recibo del mensaje.

 Los cuadros de diálogo son ventanas modales - previenen que el usuario acceda
 al resto de la interfaz del programa hasta que el diálogo sea cerrado.
 Por esta razón, no se debe abusar de cualquier función que crea
 cuadros de diálogo (o ventanas modales).

 Alternativamente,
 se puede usar el elemento `<dialog>` para mostrar alertas.

Especificación
--------------

| Specification |
| --- |
| HTML Standard # dom-alert-dev |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* Elemento `<dialog>`
* `confirm`
* `prompt`
Window.outerHeight
==================

Sumario
-------

`Window.outerHeight` obtiene la altura en pixeles de toda la ventana del navegador. Representa el alto de toda la ventana, incluyendo la barra de notificaciones (si se encuentra) y los bordes.

Esta propiedad es de sólo lectura, no tiene valor por defecto

Sintaxis
--------


```js
outWindowHeight = window.outerHeight;
```


Al obtener, `outWindowHeight` contiene el alto de la ventana.

Notas
-----

Para cambiar el tamaño de una ventana, ver `window.resizeBy()` (en-US) y `window.resizeTo()` (en-US).

Para obtener la altura interna de una ventana, por ejemplo, el alto de una página siendo desplegada, ver `window.innerHeight`.

### Ejemplo gráfico

La siguiente figura muestra la diferencia entre `innerHeight` y `outerHeight`.

![innerHeight vs outerHeight illustration](/es/docs/Web/API/Window/outerHeight/firefoxinnervsouterheight2.png)

Especificaciones
----------------

| Specification |
| --- |
| CSSOM View Module # dom-window-outerheight |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* `window.innerHeight`
* `window.innerWidth` (en-US)
* `window.outerWidth`
* `window.resizeBy()` (en-US)
* `window.resizeTo()` (en-US)
Offline
=======

El evento **`offline`** se activa cuando el navegador ha perdido acceso a la red y el valor de `navigator.onLine` cambia a `false`.

Información General
-------------------

Especificación

HTML5 Offline

Interfaz

Evento

Burbujas

No

Cancelable

No

Target

DefaultView (`<window>`)

Acción por Defecto

Ninguna

Propiedades
-----------

| Propiedad | Tipo | Descripción |
| --- | --- | --- |
| `target` Read only  | `EventTarget` | Evento target (el objetivo más alto en el árbol DOM). |
| `type` Read only  | `DOMString` | Tipo de evento. |
| `bubbles` Read only  | `Boolean` | Si el evento normalmente burbujea o no. |
| `cancelable` Read only  | `Boolean` | Si el evento normalmente es cancelable o no. |

Eventos Relacionados
--------------------

* `online` (en-US)
Window.statusbar
================

Resumen
-------

Retorna el objeto statusbar, la visibilidad se puede alternar en la ventana.

Sintaxis
--------


```js
objRef = window.statusbar;
```

Ejemplo
-------

El siguiente ejemplo HTML muestra una forma de utilizar la propiedad visible de los diversos objetos de "bar", y tambien el cambio de privilegios nesesarios para escribir en la propiedad visible para cada una de las ventanas existentes.


```html
<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Various DOM Tests</title>

    <script>
 // cambia el estado de la barra en la ventana existente
 netscape.security.PrivilegeManager.enablePrivilege(
 "UniversalBrowserWrite",
 );
 window.statusbar.visible = !window.statusbar.visible;
 </script>
  </head>
  <body>
    <p>Various DOM Tests</p>
  </body>
</html>
```

Notas
-----

Al cargar la pagina del ejemplo anterior se muestra el siguiente cuadro de dialogo:
 ![](/es/docs/Web/API/Window/statusbar/modify_any_open_window_dialog.png)

Para alternar la visibilidad de las barras, debe de firmar sus scripts o abilitar los privilegios apropiados, como en el ejemplo anterior. Tenga en cuenta que cambiar la visibilidad de manera dinamica de las barras de herramientas puede cambiar el tamaño de la ventana de forma dramatica y afectando de manera significativa el rendimiento de su pagina.

Especificaciones
----------------

| Specification |
| --- |
| HTML Standard # dom-window-statusbar-dev |

Ver tambien
-----------

* window.locationbar (en-US), window.menubar (en-US), window.personalbar (en-US), window.scrollbars (en-US), window.toolbar (en-US)
Window.closed
=============

Resumen
-------

Esta propiedad de solo lectura indica si la ventana referenciada está cerrada o no.

Syntax
------


```js
isClosed = windowRef.closed;
```


`isClosed`

Booleano. Valores posibles:

* `true`: La ventana ha sido cerrada.
* `false`: La ventana está abierta.

Ejemplos
--------

### Cambiar la URL de una ventana desde una ventana emergente

El siguiente ejemplo demuestra cómo una ventana emergente puede cambiar la URL de la ventana que la abrió. Antes de intentar cambiar la URL, verifica que la ventana actual tiene referencia a la ventana que la abrió usando la propiedad window.opener (en-US) y que esa ventana no está cerrada:


```js
// Verifica que opener existe y no esté cerrado
if (window.opener && !window.opener.closed) {
  window.opener.location.href = "http://www.mozilla.org";
}
```


Nótese que las ventanas emergentes solo pueden acceder a la ventana que las abrió.

### Actualizando una ventana emergente abierta previamente

En este ejemplo la función `refreshPopupWindow()` llama al método `reload` del objeto location de la ventana emergente para actualizar su información. Si la ventana emergente no ha sido abierta o el usuario la cerró una nueva ventana es abierta.


```js
var popupWindow = null;

function refreshPopupWindow() {
  if (popupWindow && !popupWindow.closed) {
    // popupWindow está abierta, actualízala
    popupWindow.location.reload(true);
  } else {
    // Abre una nueva ventana emergente
    popupWindow = window.open("popup.html", "dataWindow");
  }
}
```

Especificación
--------------

HTML5
Window.scrollTo()
=================

Resumen
-------

Desplaza el visor a un conjunto específico de coordenadas en el documento.

Sintaxis
--------


```js
window.scrollTo(x_coord, y_coord);
```

### Parámetros

* `x-coord` es el pixel en el eje horizontal del documento que debe terminar posicionado en el extremo superior izquierdo.
* `y-coord` es el pixel en el eje vertical del documento que debe terminar posicionado en el extremo superior izquierdo.
Ejemplo
-------


```js
window.scrollTo(0, 1000);
```

Notas
-----

Esta función es en efecto la misma que window.scroll (en-US). Para desplazamiento relativo, ver window.scrollBy (en-US), window.scrollByLines (en-US), y window.scrollByPages (en-US).

Para desplazar el visor dentro de elementos, ver Element.scrollTop and Element.scrollLeft.

Especificaciones
----------------

| Specification |
| --- |
| CSSOM View Module # dom-window-scrollto |
Window.scroll()
===============

El método **`Window.scroll()`** desplaza la ventana a un lugar particular en el documento.

Sintaxis
--------


```js
window.scroll(x_coord, y_coord);
window.scroll(options);
```

### Parámetros

* `x-coord` es la coordenada sobre el eje horizontal del documento del pixel que querés que se muestre en la parte superior izquierda.
* `y-coord` es la coordenada sobre el eje vertical del documento del pixel que querés que se muestre en la parte superior izquierda.

- o -

* `options` es un diccionario `ScrollToOptions` (en-US).
Ejemplo
-------


```html
<!-- poner el pixel 100º verticalmente en el tope superior de la ventana -->

<button onClick="scroll(0, 100);">
  Clic para desplazarse hacia abajo 100 pixeles
</button>
```


Utilizando `options`:


```js
window.scroll({
  top: 100,
  left: 100,
  behavior: "smooth",
});
```

Notas
-----

`Window.scrollTo()` es efectivamente idéntico a este método. Para desplazamiento relativo, mira `Window.scrollBy()`, `Window.scrollByLines()` (en-US) y `Window.scrollByPages()` (en-US).

Para desplazarse sobre elementos, mira `Element.scrollTop` y `Element.scrollLeft`.

Especificaciones
----------------

| Specification |
| --- |
| CSSOM View Module # dom-window-scroll |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* `Window.scrollByLines()` (en-US)
* `Window.scrollByPages()` (en-US)
* `Element.scrollIntoView()`
hashchange
==========

El evento `hashchange` es ejecutado cuando el fragmento identificador de la URL ha cambiado (la parte de la URL que continúa despues del simbolo #, incluyendo el símbolo #).

|  |  |
| --- | --- |
| Burbujas | Si |
| Cancelable | No |
| Objetivo | `Window` |
| Interface | `HashChangeEvent` (en-US) |
| Acción predeterminada | Ninguna |

Propiedades
-----------

| Property | Type | Description |
| --- | --- | --- |
| `target` Read only  | `EventTarget` | The browsing context (`window`). |
| `type` Read only  | `DOMString` | The type of event. |
| `bubbles` Read only  | `Boolean` | Whether the event normally bubbles or not. |
| `cancelable` Read only  | `Boolean` | Whether the event is cancellable or not. |
| `oldURL` Read only  | `String` | The previous URL from which the window was navigated. |
| `newURL` Read only  | `String` | The new URL to which the window is navigating. |

En esta página se enlistan algunos scripts de ejemplo. Básicamente estos scripts revisan el `location.hash` en un intervalo regular. Aquí se muestra una versión que permite que solo un controlador sea ligado a la propiedad `window.onhashchange`:


```js
(function (window) {
  // salir si el navegador implementa el evento
  if ("onhashchange" in window) {
    return;
  }

  var location = window.location,
    oldURL = location.href,
    oldHash = location.hash;

  // revisa el hash cada 100ms
  setInterval(function () {
    var newURL = location.href,
      newHash = location.hash;

    // si el hash ha cambiado y un controlador ha sido ligado...
    if (newHash != oldHash && typeof window.onhashchange === "function") {
      // ejecuta el controlador
      window.onhashchange({
        type: "hashchange",
        oldURL: oldURL,
        newURL: newURL,
      });

      oldURL = newURL;
      oldHash = newHash;
    }
  }, 100);
})(window);
```

Especificaciones
----------------

| Specification |
| --- |
| HTML Standard # event-hashchange |
| HTML Standard # handler-window-onhashchange |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* `popstate` (en-US)
load
====

El evento `load` se dispara cuando un recurso y sus recursos dependientes han terminado de cargar.

Ejemplos
--------

### Window


```html
<script>
 window.addEventListener("load", function (event) {
 console.log("'Todos los recursos terminaron de cargar!");
 });
</script>
```

### Elemento `script`


```html
<script>
 var script = document.createElement("script");
 script.addEventListener("load", function (event) {
 console.log("Script terminó de cargarse y ejecutarse");
 });
 script.src = "http://example.com/example.js";
 script.async = true;
 document.getElementsByTagName("script")[0].parentNode.appendChild(script);
</script>
```

Información general
-------------------

Especificación

DOM L3

Interfaz

UIEvent

Propagación

No

Cancelable

No

Objetivo

Window,Document,Element

Por defecto Acción

None.

Propiedades
-----------

| Propiedad | Tipo | Descripción |
| --- | --- | --- |
| `target` Read only  | ``EventTarget`` | El objetivo del evento (el objetivo superior en el árbol DOM). |
| `type` Read only  | ``DOMString`` | El tipo de evento. |
| `bubbles` Read only  | ``Boolean` (en-US)` | Si el elemento normalmente se propaga (bubbles) o no. |
| `cancelable` Read only  | ``Boolean` (en-US)` | Si el evento es cancelable o no. |
| `view` Read only  | ``WindowProxy`` | ``document.defaultView`` (`window` del documento) |
| `detail` Read only  | `long` (`float`) | 0. |

Especificaciones
----------------

| Specification |
| --- |
| UI Events # event-type-load |
| HTML Standard # delay-the-load-event |

Eventos relacionados
--------------------

* `DOMContentLoaded` (en-US)
* `readystatechange` (en-US)
* `load`
* `beforeunload`
* `unload` (en-US)
Window.document
===============

Resumen
-------

Retorna una referencia al documento contenido en la ventana.

**Nota:** Firefox 3 altera la seguridad para los documentos entre ventanas, de modo que sólo el dominio desde el cual ha sido cargada una ventana puede acceder al documento. A pesar de que esto rompe el funcionamiento de algunos sitios existentes, es una modificación adoptada por Firefox 3 e Internet Explorer 7, que resulta en una mejora de seguridad.

Sintaxis
--------


```js
doc = window.document;
```

### Parámetros

* `doc` es una referencia al objeto del document.
Example
-------


```html
<!doctype html>
<html>
  <head>
    <title>Hola, Mundo!</title>
  </head>
  <body>
    <script type="text/javascript">
 var doc = window.document;
 console.log(doc.title); // Hola, Mundo!
 </script>
  </body>
</html>
```

Especificación
--------------

* HTML
Window: método getScreenDetails()
=================================

**Experimental:** **Esta es una tecnología experimental**  
Comprueba la Tabla de compabilidad de navegadores cuidadosamente antes de usarla en producción.

**Contexto seguro:** Esta función está disponible solo en contextos seguros (en-US) (HTTPS), en algunos o todos los navegadores que lo soportan.

El método **`getScreenDetails()`** de la interfaz `Window` devuelve una `Promesa` que cumple con la instancia del objeto `ScreenDetails` (en-US) representando los detalles de todas las pantallas disponibles del dispositivo del usuario.

Sintaxis
--------


```js
getScreenDetails()
```

### Parametros

Ninguno.

### Valor devuelto

Una `Promesa` que cumple con la instancia de un objeto `ScreenDetails` (en-US).

### Excepciones

`NotAllowedError` `DOMException`

Se produce si se establece una Politica de permisos (en-US) de `administración de ventanas` (en-US) que bloquea el uso del API de administracion de ventanas (en-US), o si el usuario ha negado explícitamente la solicitud de permiso del navegador para utilizar la API.

Ejemplos
--------

Cuando `getScreenDetails()` es invocado se le pedirá permiso al usuario para administrar ventanas en todas sus pantallas (el estado de este permiso se puede verificar usando `Permissions.query()` (en-US) para consultar `window-management`). Cuando se concede el permiso, el objeto `ScreenDetails` (en-US) resultante contiene todos los detalles de todas las pantallas disponibles para el sistema del usuario.

El siguiente ejemplo abre una ventana de tamaño completo en cada pantalla disponible.


```js
const screenDetails = await window.getScreenDetails();

// Abre una ventana de tamaño completo en cada pantalla disponible.
for (const screen of screenDetails.screens) {
  window.open(
    "https://example.com",
    "\_blank",
    `left=${screen.availLeft},
 top=${screen.availTop},
 width=${screen.availWidth},
 height=${screen.availHeight}`,
  );
}
```


**Nota:** Consulta Entorno de aprendizaje de multiples ventanas para un ejemplo completo (consulta también el codigo fuente).

Especificaciones
----------------

| Specification |
| --- |
| Window Management # api-window-getScreenDetails-method |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* API de administración de ventanas (en-US)
Window.getComputedStyle
=======================

### Resumen

Devuelve el estilo computado del elemento. Los estilos computados representan los valores finales computed (en) de las propiedades CSS del elemento.

### Sintaxis


```js
var style = window.getComputedStyle(element, pseudoElt);
```


* `element` es un element.
* `pseudoElt` es una cadena que especifica el pseudo elemento a tratar. Debería ser una cadena vacia para la mayoría de los elementos element.
* `style` es un objeto del tipo `CSSStyleDeclaration` .
### Ejemplo


```js
var element = document.getElementById(“elemId”);
var style = document.defaultView.getComputedStyle(element, pseudoElt);
```

### Descripción

El objeto devuelto es del mismo tipo que el objeto devuelto por la propiedad style del elemento, sin embargo ambos objetos tienen un propósito distinto. El objeto devuelto por `getComputedStyle` es de sólo lectura y puede usarse para inspeccionar el estilo del elemento (incluyendo los estilos de una etiqueta <style> o una hoja de estlo). El objeto `elt.style` debería usarse para establecerel estilo de un elemento específico.

El primer argumento debe ser un Element, no un nodo (como en #texto Node).

### Especificación

DOM Level 2 Style: getComputedStyle
Window.opener
=============

Resumen
-------

Devuelve una referencia de, la ventana que abrió la ventana actuál.

Sintaxis
--------


```js
objRef = window.opener;
```

Ejemplo
-------


```js
if (window.opener != indexWin) {
  referToTop(window.opener);
}
```

Notas
-----

Cuando una ventana es abierta desde otra utilizando "Window.open()", esta, mantiene una referencia a la primera mediante "window.opener". Si la ventana actuál no fué abierta, el metodo retorna NULL.

El navegador de Windows Phone no soporta window.opener. Tampoco es soportado en Internet Explorer si la ventana nueva se encuentra en una zona de seguridad distinta.
window.getSelection
===================

### Resumen

Devuelve un objeto de selección representando el rango del texto seleccionado por el usuario. NB. this is nothing to do with the DOM selection list object! What the heck is 'selection list object'? -Nickolay

### Sintaxis


```js
selection = window.getSelection();
```


* `selection` es un objeto de selección.
### Ejemplo


```js
function foo() {
  var selObj = window.getSelection();
  alert(selObj);
  var selRange = selObj.getRangeAt(0);
  // ... Hacer las cosas con el rango ...
}
```

### Notas

En JavaScript, cuando un objeto de selección es pasado a una función que espera una cadena de caracteres como parámetro (como `window.alert` o `document.write`), una representación de texto, del objeto de selección (e.j. el texto seleccionado) es pasado en vez del objeto en sí. Esto hace al objeto de selección parecer una cadena de caracteres (texto), cuando realmente es un objeto con sus propios métodos y propiedades. Específicamente, el valor de retorno de llamar al método `toString()` del objeto de selección es lo que realmente se pasa como parámetro a la función.

En el ejemplo de arriba, `selObj` es automaticamente "convertido" cuando pasó a window.alert. Sin embargo, para usar una propiedad String de JavaScript o un método como `length` o `substr`, debe llamar manualmente al método `toString`. I'm treading carefully with the word "convert" here because it could be misinterpreted as a permanent convert - Maian

### Especificación

DOM Nivel 0. No es parte de ninguna especificación.

### Ver también

Selection, Range
GlobalEventHandlers.onresize
============================

La propiedad **GlobalEventHandlers.onresize** contiene un `event handler` desencadenado cuando un evento `resize` (en-US) es recibido.

Sintaxis
--------


```js
window.onresize = funcRef;
```

### Parametros

* `funcRef` es una referencia a una función.
Ejemplo
-------


```js
window.onresize = doFunc;
```



```html
<html>
  <head>
    <title>onresize test</title>

    <script type="text/javascript">
 window.onresize = resize;

 function resize() {
 alert("resize event detected!");
 }
 </script>
  </head>

  <body>
    <p>Resize the browser window to fire the resize event.</p>
  </body>
</html>
```

Notas
-----

El evento **resize** es activado después de que la ventana ha sido redimensionada.

Especificaciones
----------------

| Specification |
| --- |
| CSSOM View Module # eventdef-window-resize |
Window.scrollX
==============

Resumen
-------

Retorna el número de pixels que el documento ha sido desplazado horizontalmente.

Sintaxis
--------


```js
var x = window.scrollX;
```

### Parámetros

* `x` será el número de pixels que el documento está desplazado actualmente desde la izquierda.
Ejemplo
-------


```js
// Si scrollX es mayor que 400, reinicia la posición de desplazxamiento al inicio supuerior-izquierdo del documento.
if (window.scrollX > 400) {
  window.scroll(0, 0);
}
```

Notas
-----

La propiedad `pageXOffset` es un alias de la propiedad `scrollX`:


```js
window.pageXOffset == window.scrollX; // siempre true
```


Para compatibilidad cruzada entre navegadores, use `window.pageXOffset` en lugar de `window.scrollX`. **Adicionalmente**, versiones más antiguas de Internet Explorer (< 9) no soportan ninguna de las dos propiedades y deben ser sorteadas examinando otras propiedade no estandar. Un ejemplo totalmente compatible:


```js
var x =
  window.pageXOffset !== undefined
    ? window.pageXOffset
    : (document.documentElement || document.body.parentNode || document.body)
        .scrollLeft;

var y =
  window.pageYOffset !== undefined
    ? window.pageYOffset
    : (document.documentElement || document.body.parentNode || document.body)
        .scrollTop;
```

Especificaciones
----------------

| Specification |
| --- |
| CSSOM View Module # dom-window-scrollx |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* window.scrollY (en-US)
Window.frameElement
===================

Retorna el elemento (como es `<iframe>` ó `<object>`) en el cual la ventana está incrustada o `null` si el elemento es bien de nivel superior (top-level) o bien está inrustada en un documento con un origen de diferente; esto es, en situaciones de origen cruzado.

Sintaxes
--------


```js
frameEl = window.frameElement;
```


* `frame El` es el elemento dentro del cual está empotrada la ventana. Si la ventana no está incrustada dentro de otro documento, o si el documento en el que está empotrada tiene un origen diferente (como procede de un dominio diferente), este valor será `null`.

**Nota:** A pesar del nombre de esta propiedad, funciona para documentos empotrados en cualquier forma o método de incrustación, incluyendo `<object>`, `<iframe>`, or `<embed>`.

Ejemplo
-------


```js
var frameEl = window.frameElement;
// Si estamos empotrados, cambia la URL de elemento contenedor to 'http://mozilla.org/'
if (frameEl) {
  frameEl.src = "http://mozilla.org/";
}
```

Especificaciones
----------------

| Specification |
| --- |
| HTML Standard # dom-frameelement-dev |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* `window.frames` (en-US) retorna un objeto enumerable, listando los sub-frames directos de la ventana actual.
* `window.parent` (en-US) retorna la ventana padre, la cual es la ventana que contiene el `frameElement` de la ventana hija.