recursal/MDN huggingface dataset:
Screen
======

 La interfaz `Screen` representa una pantalla,
 usualmente la misma donde la ventana actual está siendo visualizada y
 es obtenida usando `window.screen` (en-US).

 Tenga en cuenta que los navegadores determinan cual es la pantalla actual
 detectando qué pantalla tiene el navegador centrada.

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

`Screen.availTop` (en-US) 
Non-standard

Especifica la coordenada-y del primer píxel que no está asignado a funciones de interfaz de usuario permanentes o semipermanentes.

`Screen.availLeft` (en-US) 
Non-standard

Devuelve el primer píxel disponible desde el border izquierdo de la pantalla.

`Screen.availHeight` (en-US)

Especifica la altura de la pantalla, en píxeles, menos las funciones de interfaz de usuario permanentes o semipermanentes que son mostradas por el sistema operativo, como la barra de tareas de Windows.

`Screen.availWidth` (en-US)

Devuelve la cantidad de espacio horizontal disponible en pixeles para la ventana.

`Screen.colorDepth` (en-US)

Devuelve la profundidad de color de la pantalla.

`Screen.height` (en-US)

Devuelve la altura de la pantalla en píxeles.

`Screen.left` (en-US) 
Non-standard

Devuelve la distancia en píxeles desde el borde izquierdo de la pantalla principal al borde izquierdo de la pantalla actual.

`Screen.orientation` (en-US)

Devuelve la instancia `ScreenOrientation` (en-US) asociada con la pantalla.

`Screen.pixelDepth` (en-US)

Obtiene la profundidad de bits de la pantalla.

`Screen.top` (en-US) 
Obsoleto

Non-standard

Devuelve la distancia en píxeles desde el borde supierior de la pantalla principal.

`Screen.width` (en-US)

Devuelve la anchura de la pantalla.

`Screen.mozEnabled` (en-US) 
Non-standard

Obsoleto

Booleano. Estableciendo su valor a `false`, se apagaá la pantalla del dispositivo.

`Screen.mozBrightness` (en-US) 
Non-standard

Obsoleto

Controla el brillo de la pantalla del dispositivo. Espera un valor `double` entre `0` y `1.0`.

### Manejador de eventos

`Screen.onorientationchange` (en-US) 
Obsoleto

Un manejador para el evento `orientationchange` (en-US).

Métodos
-------

*También hereda métodos de su padre `EventTarget`:*

`Screen.lockOrientation` (en-US) 
Non-standard

Obsoleto

Bloquea la orientación de la pantalla (sólo funciona en pantalla completa o para aplicaciones instaladas)

`Screen.unlockOrientation` (en-US) 
Non-standard

Obsoleto

Desbloquea la orientación de pantalla (sólo funciona en pantalla completa o para aplicaciones instaladas)

Ejemplo
-------


```js
if (screen.pixelDepth < 8) {
  // usa la versión color-bajo de la página
} else {
  // usa la versión regular, a todo color de la página
}
```

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

| Specification |
| --- |
| CSSOM View Module # the-screen-interface |

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

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

La interfaz **HTMLLIElement** expone las propiedades y los métodos específicos (más allá de los definidos por la interfaz regular `HTMLElement` que también tiene disponible por herencia) para manipular elementos de la lista.

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

*Hereda las propiedades de su elemento primario, `HTMLElement`.*

`HTMLLIElement.type` 
Obsoleto

Es un `DOMString` que representa el tipo de las viñetas, "disco", "cuadrado" o "círculo". Como la forma estándar de definir el tipo de lista es a través de la propiedad CSS `list-style-type`, use los métodos CSSOM para establecerlo a través de un script.

`HTMLLIElement.value`

Es un largo que indica la posición ordinal del elemento de lista dentro de un `<ol>` dado. Refleja el atributo `valor` del elemento HTML `<li>` y puede ser menor que 0. Si el elemento `<li>` Elemento no es hijo de un elemento `<ol>`, la propiedad no tiene ningún significado.

Metodos
-------

*No specific method; inherits properties from its parent, `HTMLElement`.*

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

| Specification |
| --- |
| HTML Standard # htmllielement |

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

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

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

* El elemento HTML que implementa esta interfaz: `<li>`
PerformanceNavigation
=====================

**Advertencia:** Esta interfaz está deprecada en Navigation Timing Level 2 specification. Por favor usa la interfaz `PerformanceNavigationTiming` (en-US) en lugar de esta.

La interfaz de legado **`PerformanceNavigation`** representa información acerca de cómo la navegación en el documento actual fue hecha.

Un objeto de este tipo puede ser optenido con el llamado del atributo de solo lectura `Performance.navigation`.

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

*La interfaz `PerformanceNavigation` no hereda ninguna propiedad.*

Obsoleto `PerformanceNavigation.type` (en-US) Read only 

Un `unsigned short` el cual indica cómo la navegación en esta página fue hecha. Los valores posibles son:u

`TYPE_NAVIGATE` (0)

La página fue accesada por un link, un marcador, un formulario enviado, o un script, o escribiendo la URL en la barra de direcciones.

`TYPE_RELOAD` (1)

La página fue accesada haciendo click al botón de Recargar o con el método `Location.reload()`.

`TYPE_BACK_FORWARD` (2)

La página fue accesada por la navegación en el historial.

`TYPE_RESERVED` (255)

Cualquier otra forma.


Obsoleto `PerformanceNavigation.redirectCount` (en-US) Read only 

Un `unsigned short` que representa el número de REDIRECTs hechos antes de llegar a la página.

Métodos
-------

**La interfaz `Performance` no hereda ningún método**.

Obsoleto `PerformanceNavigation.toJSON()` (en-US)

Es un jsonizer que retorna un objeto json que representa el objecto `PerformanceNavigation`.

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

#### No specification found

No specification data found for `api.PerformanceNavigation`.  
Check for problems with this page or contribute a missing `spec_url` to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

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

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

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

* The `Performance` that allows access to an object of this type.
* `PerformanceNavigationTiming` (en-US) (part of Navigation Timing Level 2) 
Experimental
WebSockets
==========

**WebSockets** es una tecnología avanzada que hace posible abrir una sesión de comunicación interactiva entre el navegador del usuario y un servidor. Con esta API, puede enviar mensajes a un servidor y recibir respuestas controladas por eventos sin tener que consultar al servidor para una respuesta.

Interfaces
----------

`WebSocket`

El interfaz principal para conectar a un servidor Websocket y así enviar y recibir datos a través de la conexión.

`CloseEvent`

El evento enviado por el objeto WebSocket cuando se cierra la conexión.

`MessageEvent`

El evento enviado por el objeto WebSocket cuando se recibe un mensaje enviado desde el servidor.

Herramientas
------------

* Socket.IO: Una poderosa API WebSocket multi-plataforma para Node.js.
* WebSocket-Node: Un servidor WebSocket API implementado para Node.js.
* Total.js: Framework para aplicaciones web para Node.js (Ejemplo: WebSocket chat)
* Faye: Un servidor y cliente WebSocket (conexión bidireccional) y EventSource (conexión unidireccional) para Node.js.
Temas RELACIONADOS
------------------

* AJAX, JavaScript
Especificaciones
----------------

| Specification |
| --- |
| WebSockets Standard # the-websocket-interface |

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

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

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

* RFC 6455 - The WebSocket Protocol
* WebSocket API Specification
* Server-Sent Events
DeviceMotionEvent
=================

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

El evento `DeviceMotionEvent` proporciona a los desarrolladores información acerca de la velocidad de los cambios en la posición y orientación del dispositivo.

**Advertencia:** **Aviso:** Acualmente, Firefox and Chrome no manejan las corrdenadas de la misma forma. Tenga en cuenta esto cuando lo use.

Constructor
-----------

`DeviceMotionEvent.DeviceMotionEvent()` (en-US) 
Non-standard

Crea un nuevo `DeviceMotionEvent`.

Properties
----------

`DeviceMotionEvent.acceleration` (en-US)Read only 

Objeto que nos proporciona la aceleración del dispositivo en los ejes X, Y y Z. La aceleración está expresada en m/s2.

`DeviceMotionEvent.accelerationIncludingGravity` (en-US)Read only 

Objeto que nos proporciona la aceleración del dispositivo en los ejes X, Y y Z con el efecto de la gravedad. La aceleración está expresada en m/s2.

`DeviceMotionEvent.rotationRate` (en-US)Read only 

Objeto que nos proporciona los cambios en la orientación del dispositivo en los ejes alpha, beta y gamma. La velocidad de rotación se expresa en grados por segundo

`DeviceMotionEvent.interval` (en-US)Read only 

Número que representa el intervalo de tiempo, en milisegundos, en el que se obtienen los datos del dispositivo..

Ejemplo
-------


```js
window.addEventListener("devicemotion", function (event) {
  console.log(event.acceleration.x + " m/s2");
});
```

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

| Specification |
| --- |
| DeviceOrientation Event Specification # devicemotion |

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

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

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

* `deviceorientation` (en-US)
* `DeviceOrientationEvent` (en-US)
* `devicemotion` (en-US)
* Detecting device orientation (en-US)
* Orientation and motion data explained
HTMLAudioElement
================

La interfaz `HTMLAudioElement` proporciona acceso a las propiedades de los elementos `<audio>`, así como métodos para manipularlos. Se deriva de la interfaz `HTMLMediaElement`; se implementa por medio de `nsIDOMHTMLMediaElement`.

Para obtener más detalles sobre cómo usar las caracterísitcas de transmisión de sonido que expone esta interfaz, por favor consulta Introducción a la extensión de la API de sonido.

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

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `mozCurrentSampleOffset` 
Non-standard
 | unsigned long long | Indica el desplazamiento actual de la transmisión de sonido que fue creada por una llamada a `mozWriteAudio()`. Esta posición de desplazamiento se especifica como el número de muestras desde que se inició la transmisión. |

Métodos
-------

| Nombre y argumentos | Retorno | Descripción |
| --- | --- | --- |
| `Audio()` | `HTMLAudioElement` | Constructor para elementos de audio. La propiedad **preload** del objeto devuelto se establece en `auto`. |
| `Audio(en DOMString src)` | HTMLAudioElement | Constructor para elementos de audio. La propiedad **preload** del objeto devuelto se establece a `auto`; la propiedad **src** se establece al valor del argumento . El navegador comienza una selección asíncrona del recurso antes de que devuelva el objeto. |
| `mozSetup(in PRUint32 channels, in PRUint32 rate)` 
Non-standard
 | - | Configura la transmisión de sonido para escritura. Especificas como parámetros el número de canales (1 para mono o 2 para estéreo), a continuación la frecuencia de muestreo ((44100 for 44.1kHz, por ejemplo). |
| `mozWriteAudio(in jsval data)` 
Non-standard
 | `unsigned long` | Inserta en la transmisión la escritura de sonido en la posición de desplazamiento actual . Devuelve el número de bytes que se han escrito en la transmisión. |

Consulta también
----------------

* Introducción a la extensión de la API de sonido
* `<audio>`
Geolocalización
===============

La interfaz **Geolocalización** representa un objeto capaz de obtener mediante programación la posición del dispositivo. Se da acceso Web de la ubicación del dispositivo. Esto permite a un sitio Web o aplicación ofrecer resultados personalizados basados en la ubicación del usuario.

Se obtiene un objeto con esta interfaz mediante la propiedad `NavigatorGeolocation.geolocation` implementado por el objeto `Navigator`.

**Nota:** Por razones de seguridad, cuando una página web intenta obtener acceso a la información de ubicación, se notifica al usuario y le pide conceder el permiso. Tenga en cuenta que cada navegador tiene sus propias políticas y métodos para solicitar este permiso.

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

La interfaz de Geolocalización no implementa ni hereda propiedades.

Métodos
-------

*La interfaz `Geolocation` no hereda ningún método.*

Geolocation.getCurrentPosition()

Determina la ubicación actual del dispositivo y devuelve un objeto de posición(`Position`) con los datos.

Geolocation.watchPosition()

Devuelve un valor de largo(`long`) que representa la función de devolución de llamada de reciente creación que se invoca cada vez que cambia la ubicación del dispositivo.

Geolocation.clearWatch()

Elimina el controlador especial instalado previamente utilizando `watchPosition()`.

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

| Specification |
| --- |
| Geolocation API # geolocation\_interface |

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

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

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

* Usar la geolocalización
File
====

La interfaz **`File`** provee información acerca de los archivos y permite que el código JavaScript en una página web tenga acceso a su contenido.

Los objetos `File` son generalmente recuperados a través de un objeto `FileList` (en-US) retornado como resultado de un usuario seleccionado archivos por medio de un elemento `<input>` , desde las operaciones drag y drop de un objeto `DataTransfer` (en-US) , o desde la API `mozGetAsFile()` en un `HTMLCanvasElement`. En Gecko, desde código con privilegios es posible crear objetos `File` representando cualquier archivo local sin esperar la interacción del usuario (ver Implementation notes para más información.)

Un objeto `File` es una especie específica de `Blob`, y puede ser utilizada en cualquier contexto que un Blob puede ser usado. En particular, `FileReader`, `URL.createObjectURL()`, `createImageBitmap()` (en-US), y `XMLHttpRequest.send()` aceptan tanto `Blob`s y `File`s.

Ver Utilizando archivos desde aplicaciones web (Using files from web applications) para más información y ejemplos.

Blob

FileConstructor
-----------

`File()`

Retorna un nuevo objeto de tipo `File`.

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

`File.lastModified` (en-US)Read only 

Retorna el último tiempo que el archivo se modifico, en milisegundos desde la época de UNIX (1 de enero de 1970 a medianoche).

`File.lastModifiedDate` 
Obsoleto
Read only 

Retorna la última fecha (en un objeto `Date``Date`) de modificación del archivo referenciada por el objeto `File`.

`File.name`Read only 

Retorna el nombre del archivo referenciada por el objeto `File`.

`File.webkitRelativePath` 
Non-standard
Read only 

Retorna la ruta relativa de la URL del `File`.

`File` implementa `Blob`, así que también cuenta con las siguientes propiedades:

`File.size` (en-US)Read only 

Retorna el tamaño del archivo en bytes.

`File.type` (en-US)Read only 

Retorna el tipo MIMEdel archivo.

Métodos
-------

*La interfaz `File` no define algún método, pero los hereda de la interfaz `Blob`:*

`Blob.slice([start[, end[, contentType]]])` (en-US)

Retorna un nuevo objeto `Blob` conteniendo la información en el rango especificado de bytes de la fuente `Blob`.

`Blob.stream()` (en-US)

Transforma el archivo `File` en un `ReadableStream` (en-US) que puede ser usado para leer el contenido de `File`.

`Blob.text()` (en-US)

Transforma el archivo `File` en una corriente (*stream*) para leerse hasta completarse. Retorna una promesa que se resuelve con un `USVString` (en-US) (texto).

`Blob.arrayBuffer()` (en-US)

Transforma el archivo `File` en una corriente y leerlo hasta completarse. Devuelve una promesa que resuelve con un `ArrayBuffer`.

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

| Specification |
| --- |
| File API # file-section |

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

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

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

* Usando archivos desde aplicaciones web
* Usando la API DOM File en código chrome
* `FileReader`
ClipboardEvent
==============

La interfaz **`ClipboardEvent`** representa eventos que brindan información relacionada con la modificación del portapapeles, es decir, eventos `cut` (en-US), `copy` (en-US) y `paste` (en-US).

Event

ClipboardEventConstructor
-----------

`ClipboardEvent()` (en-US)

Crea un evento `ClipboardEvent` con los parámetros proporcionados.

Propiedades de instancia
------------------------

*También hereda propiedades de su padre `Event`*.

`ClipboardEvent.clipboardData` Read only 

Un objeto `DataTransfer` (en-US) que contiene los datos afectados por el evento `cut` (en-US), `copy` (en-US), o `paste` (en-US) iniciado por el usuario, junto con su tipo MIME.

Métodos de instancia
--------------------

*Sin métodos específicos; hereda métodos de su padre `Event`*.

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

| Specification |
| --- |
| Clipboard API and events # clipboard-event-interfaces |

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

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

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

* Eventos relacionados con copiar: `copy` (en-US), `cut` (en-US), `paste` (en-US)
* API del portapapeles
* Demostración de la API del portapapeles asíncrono en Glitch
* Compatibilidad con imágenes para el artículo Portapapeles asíncrono
HTMLHeadElement
===============

La interfaz **`HTMLHeadElement`** contiene la información descriptiva, o metadata, para un documento. Este objeto hereda las propiedades y métodos descritos en la interfaz `HTMLElement`.

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

*Hereda las propiedades del padre, `HTMLElement`.*

`HTMLHeadElement.profile` 
Obsoleto

Es un `DOMString` que representa las URI de uno o más perfiles de metadatos (separados por espacios en blanco).

Métodos
-------

*No hay un método especifico; hereda los métodos del padre, `HTMLElement`.*

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

| Specification |
| --- |
| HTML Standard # htmlheadelement |

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

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

Vea también
-----------

* El elemento HTML que implementa esta interfaz: `<head>`
FetchEvent
==========

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

Este es el tipo de evento para eventos "`fetch`" despachados en el scope global del service worker (en-US). Contiene información sobre la búsqueda (fetch), incluyendo la petición (request) y cómo el receptor tratará la respuesta (response).

Provee el método `event.respondWith()` (en-US), el cúal nos permite proporcionar una respuesta a esta búsqueda (fetch).

Constructor
-----------

`new FetchEvent()` (en-US)

Crea un nuevo objecto `FetchEvent`. Este constructor no se usa normalmente. El propio navegador crea estos objetos y los proporciona a los callbacks de eventos "`fetch`".

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

*Hereda propiedades del ancestro, `Event`*.

`fetchEvent.clientId` (en-US) Read only 

El `id` (en-US) del mismo origen `client` (en-US) que inició el "fetch".

`fetchEvent.preloadResponse` (en-US) Read only 

Un `Promise` para un `Response`, o vacío si este no es una navegación, o navigation preload no esta habilitado.

`fetchEvent.request` (en-US) Read only 

La `Request` que el navegador intenta crear.

Métodos
-------

*Herada métodos del padre,* *`ExtendableEvent` (en-US)*.

`fetchEvent.respondWith()` (en-US)

Evita el manejo de búsqueda predeterminado del navegador y proporciona (una promesa) una respuesta usted mismo.

`extendableEvent.waitUntil()` (en-US)

Extiende el tiempo de vida del evento. Se usa para notificar al navegador las tareas que van más allá de la devolución de una respuesta, como la transmisión y el almacenamiento en caché.

Ejemplos
--------

Este evento fetch, permite al navegador hacer esta acción por defecto para peticiones non-GET. Para peticiones GET esto intenta retornar una coincidencia en el cache, y vuelve de nuevo a la red. Si busca una concidencia en el cache, actualiza asincronicamente el cache para la próxima vez.


```js
addEventListener("fetch", (event) => {
  // Permite al navegador hacer este asunto por defecto
  // para peticiones non-GET.
  if (event.request.method != "GET") return;

  // Evita el valor predeterminado, y manejar solicitud nosostros mismos.
  event.respondWith(
    (async function () {
      // Intenta obtener la respuesta de el cache.
      const cache = await caches.open("dynamic-v1");
      const cachedResponse = await cache.match(event.request);

      if (cachedResponse) {
        // Si encontramos una coincidencia en el cache, lo devuelve, pero también
        // actualizar la entrada en el cache en segundo plano.
        event.waitUntil(cache.add(event.request));
        return cachedResponse;
      }

      // Si no encontramos una coincidencia en el cache, usa la red.
      return fetch(event.request);
    })(),
  );
});
```

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

| Specification |
| --- |
| Service Workers # fetchevent-interface |

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

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

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

* `Promise`
* Fetch API
UIEvent
=======

La interfaz **`UIEvent`** representa eventos de interfaz de usuario simples.

`UIEvent` deriva de `Event`. Aunque el método `UIEvent.initUIEvent()` (en-US) se mantiene por compatibilidad con versiones anteriores, debe crear un objeto `UIEvent` utilizando el constructor `UIEvent()` (en-US).

Varias interfaces son descendientes directas o indirectas de esta: `MouseEvent`, `TouchEvent`, `FocusEvent` (en-US), `KeyboardEvent`, `WheelEvent`, `InputEvent` (en-US) y `CompositionEvent` (en-US).

Event

UIEventConstructor
-----------

`UIEvent()` (en-US)

Crea un objeto `UIEvent`.

Propiedades de instancia
------------------------

*Esta interfaz también hereda las propiedades de su padre, `Event`.*

`UIEvent.detail` (en-US) Read only 

Devuelve un `long` con detalles sobre el evento, según el tipo de evento.

`UIEvent.sourceCapabilities` (en-US) 
Experimental
 Read only 

Devuelve una instancia de la interfaz `InputDeviceCapabilities`, que proporciona información sobre el dispositivo físico responsable de generar un evento táctil.

`UIEvent.view` (en-US) Read only 

Devuelve un WindowProxy (en-US) que contiene la vista que generó el evento.

`UIEvent.which` 
Obsoleto
 Read only 

Devuelve el `keyCode` numérico de la tecla pulsada, o el código de carácter (`charCode`) de una tecla alfanumérica pulsada.

Métodos de instancia
--------------------

*Esta interfaz también hereda métodos de su padre, `Event`.*

`UIEvent.initUIEvent()` (en-US) 
Obsoleto

Inicializa un objeto `UIEvent`. Si el evento ya se envió, este método no hace nada.

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

| Specification |
| --- |
| UI Events # idl-uievent |

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

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

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

* Introducción a eventos
* `Event`