recursal/MDN huggingface dataset:
Navigator.onLine
================

Retorna el estado en línea del navegador. La propiedad retorna un valor booleano, `true` significa **en línea** y `false` significa **desconectado**. La propiedad envía actualizaciones siempre que el navegador tenga la capacidad de conectarse a los cambios de red. La actualización se produce cuando un usuario sigue un enlace o cuando un script pide una pagina remota. Por ejemplo, la propiedad debe retornar `false` cuando los usuarios hacen clic en un enlace poco después de perder la conexión a internet.

Los navegadores implementan esta propiedad de forma diferente.

En Chrome y Safari, si el navegador no puede conectarse a la red de area local (LAN) o al router, está `desconectado`; todas las otras condiciones retornan `true`. Así que puedes suponer que el navegador esta desconectado cuando retorna un valor `false`, no puedes suponer que un valor `true` signifique que el navegador puede acceder a internet. Podrías estar recibiendo falsos positivos, como en los casos en el que el ordenador este ejecutando un software de virtualización que tiene los adaptadores ethernet virtuales siempre "conectados". Por lo tanto, si tu quieres determinar el estado en linea de el navegador, tu debes desarrollar medios adicionales para comprobarlo. Para más información, consulte el artículo HTML5 Rocks article, Working Off the Grid.

En Firefox e Internet Explorer, cambiando el navegador al modo desconectado envía un valor `false`. Hasta Firefox 41, todas las demás condiciones retornaban un valor `true`; desde Firefox 41, en OS X y Windows, el valor sigue la actual conectividad de red.

Puedes ver los cambios en el estado de red escuchando los eventos `window.ononline` y `window.onoffline`.

Sintaxis
--------


```js
online = window.navigator.onLine;
```

### Valor

`online` es booleano `true` o `false`.

Ejemplo
-------

Ver ejemplo en linea.

Para comprobar que estas es linea, consulte `window.navigator.onLine`, como en el siguiente ejemplo:


```js
if (navigator.onLine) {
  console.log("online");
} else {
  console.log("offline");
}
```


Si el navegador no soporta `navigator.onLine` el ejemplo anterior siempre devolvera `false`/`undefined`.

Para ver los cambios en el estado de la red, use `addEventListener` para escuchar los eventos `window.ononline` y `window.onoffline`, como en el siguiente ejemplo:


```js
window.addEventListener("offline", function (e) {
  console.log("offline");
});

window.addEventListener("online", function (e) {
  console.log("online");
});
```

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

| Specification |
| --- |
| HTML Standard # dom-navigator-online-dev |

Compatibilidad de Navegadores
-----------------------------

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

Notas
-----

See Online/Offline Events‎ (en-US) for a more detailed description of this property as well as new offline-related features introduced in Firefox 3.

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

* HTML5 Rocks: Working Off the Grid With HTML5 Offline
* HTML5 Rocks: "Offline": What does it mean and why should I care?
* Mozilla Blog: Offline Web Applications
EventSource.onopen
==================

La propiedad **`onopen`** de la interfaz `EventSource` es un `event handler` llamado cuando un evento `open` es recibido, esto pasa cuando la conexión fue solo abierta.

Syntax
------
```

eventSource.onopen = function
```

Ejemplos
--------


```js
evtSource.onopen = function () {
  console.log("Connection to server opened.");
};
```


**Nota:** Tu puedes encontrar un ejemplo completo en GitHub — ve Simple SSE demo using PHP.

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

| Specification |
| --- |
| HTML Standard # event-open |
| HTML Standard # handler-eventsource-onopen |

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

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

Mira también
------------

* `EventSource`
removeRange
===========

### Resumen

Quita un rango de la selección.

### Sintaxis
```

sel.removeRange(
  range)
```

### Parámetros

*`range`*

Un objeto rango que será eliminado de la selección.

### Ejemplos
```

/* Programadamente, mas de un rango puede ser seleccionado.
 * Esto eliminará todos los rangos excepto el primero. */
s = window.getSelection();
if(s.rangeCount > 1) {
 for(var i = 1; i < s.rangeCount; i++) {
  s.removeRange(s.getRangeAt(i));
 }
}
```
collapse
========

### Resumen

Pliega la selección a un simple punto. El documento no es modificado. Si el contenido es enfocado y editable, el cursor parpadeará ahí.

### Sintaxis
```

sel.collapse(
parentNode,
offset);
```

### Parámetros

*`parentNode`*

La localización del cursor estará dentro de este nodo.


*`offset`*

 El cursor estará colocado éste número de caracteres desdel el comienzo del texto de
 *`parentNode`'*
 s text.


### Ejemplos
```

/* Colocar el cursor al principio del cuerpo de un documento HTML. */
var body = document.getElementsByTagName("body")[0];
window.getSelection().collapse(body,0);
```
focusNode
=========

### Resumen

Devuelve el nudo en el cual acaba la selección.

### Sintaxis
```

sel.focusNode
```

### Notas

Un usuario puede hacer una selección de izquierda a derecha (en el orden del documento) o de derehca a izquierda (en el orden contrario del documento). El foco es donde el usuario terminó la selección. Éste puede ser visualizado manteniendo presionada la tecla Shift y presionando las flechas de movimiento del teclado para modificar la selección. El foco de la selección se mueve, pero el ancla de ésta (el otro final de la selección) no se mueve.
containsNode
============

### Resumen

Indica si tal nodo es parte de la selección.

### Sintaxis
```

sel.containsNode(
  aNode,
  aPartlyContained)
```

### Parámetros

*`aNode`*

El nodo que está siendo vigilado por si es parte de la selección.

*`aPartlyContained`*

 Cuando da un valor
 *verdadero*
 , `containsNode` devuelve verdadero cuanbdo una parte del nodo es parte de la selección.
 Cuando da un valor
 *falso*
 , `containsNode` solo devuelve verdadeor cuando el nodo completo es parte de la selección.


### Ejemplos
```

 /* Checar si algo dentro del elemento cuerpo (etiquetas body) está seleccionado */
 alert(window.getSelection().containsNode(document.body, true));
```
rangeCount
==========

### Resumen

Devuelve el número de los rangos que hay en la selección.

### Sintaxis
```

sel.rangeCount
```

### Notas

 Antes de que el usuario haya hecho
 *click*
 en una página recién cargada, el `rangeCount` es 0. Un usuario normalmente puede seleccionar un rango a la vez, entonces el `rangeCount` usualmente será 1. El
 *scripting*
 puede usarse para hacer que la selección contenga más de 1 rango.
getRangeAt
==========

### Resumen

Devuelve un objeto de rango representando uno de los rangos seleccionados.

### Sintaxis
```

range = sel.getRangeAt(index)
```

### Parámetros

*`range`*

El objeto range (rango) que será devuelto.


*`index`*

El exponente (basado en cero) del rango a devolver. Un número negativo o un número mayor o igual a rangeCount provocará un error.

### Ejemplos
```

ranges = [];
sel = window.getSelection();
for(var i = 0; i < sel.rangeCount; i++) {
 ranges[i] = sel.getRangeAt(i);
}
/* Cada artículo en el array de rangos ahora es
 * un objeto rango representando uno de los
 * rangos en la selección */
```
toString
========

### Resumen

Devuelve una cadena de caracteres (texto), la cual es representada por el objeto de selección, es decir, el texto seleccionado.

### Sintaxis
```

string = sel.toString()
```


* `string` es la representación del texto de selección.
### Parámetros

Ninguno.

### Descripción

Este método devuelve el texto seleccionado.

En JavaScript, este método es llamado automáticamente cuando una función, a la cual es pasado como parámetro el objeto de selección, requiere una cadena de caracteres (texto):
```

alert(window.getSelection()) // Lo que se llama.
alert(window.getSelection().toString())  // Lo que está siendo efectivamente llamado.
```

### Ver también

* Object.toString
focusOffset
===========

### Resumen

Devuelve el número de caracteres en que el foco de la selección es colocado dentro de focusNode.

### Sintaxis
```

sel.focusOffset
```

### Notas

Este número está basado en cero. Si la selección termina con el primer carácter en focusNode, el número devuelto será 0.
deleteFromDocument
==================

### Resumen

Elimina del documento el contenido de la selección.

### Sintaxis
```

sel.deleteFromDocument()
```

### Parámetros

Ninguno.

### Ejemplos

Un usuario selecciona el texto (imaginario) "jos tienen do" del texto "Los conejos tienen dos orejas." en una página web. Después el usuario da click en un botón que ejecuta la acción cortar de JavaScript `window.getSelection().deleteFromDocument()`. El texto del documento quedaría como "Los cones orejas."
anchorOffset
============

### Resumen

Devuelve el número de caracteres en que el ancla de la selección es colocada dentro de anchorNode.

### Sintaxis
```

sel.anchorOffset
```

### Notas

Este número está basado en cero. Si la selección empieza con el primer carácter en anchorNode, el número devuelto será 0.
selectAllChildren
=================

### Resumen

Añadirá todos los "hijos" del nodo especificado a la selección. La selección previa se pierde.

### Sintaxis
```

sel.selectAllChildren(
parentNode)
```

### Parámetros

*`parentNode`*

 Todos los "hijos" de
 *`parentNode`*
 serán seleccionados. El mismo
 *`parentNode`*
 no es parte de la selección.


### Ejemplos
```

footer = document.getElementById("footer");
window.getSelection().selectAllChildren(footer);
/* Todo el contendio del pie de página ahora está seleccionado */
```
collapseToEnd
=============

### Resumen

Traslada el ancla hasta el mismo punto del foco. El foco no se mueve. Si el contenido es enfocado y editable, el cursor parpadeará ahí.

### Sintaxis
```

sel.collapseToEnd()
```

### Parámetros

Ninguno.
addRange
========

### Resumen

Añade un objeto de rango a la selección.

### Sintaxis
```

sel.addRange(range)
```

### Parámetros

*`range`*

Un objeto range que será añadido a la selección.

### Ejemplos
```

 /* Seleccionar todos los elementos en NEGRITA en un documento HTML */
 var strongs = document.getElementsByTagName("strong");
 var s = window.getSelection();
 if(s.rangeCount > 0) s.removeAllRanges();
 for(var i = 0; i < strongs.length; i++) {
  var range = document.createRange();
  range.selectNode(strongs[i]);
  s.addRange(range);
 }
```
anchorNode
==========

### Resumen

Devuelve el nodo en el cual empieza la selección.

### Sintaxis
```

sel.anchorNode
```

### Notas

Un usuario puede hacer una selección de izquierda a derecha (en el orden del documento) o de derehca a izquierda (en el orden contrario del documento). El ancla es donde el usuario empezó la selección. Ésta puede ser visualizada manteniendo presionada la tecla **Shift** y presionando las flechas de movimiento del teclado. El ancla de la selección no se mueve, pero el foco de ésta (el otro "final" de la selección) sí se mueve.
extend
======

### Resumen

Traslada el foco de la selección a un punto especificado. El ancla de la selección no se mueve. La selección será desde el ancla hasta el nuevo focus regardless of direction.

### Sintaxis
```

sel.extend(
  parentNode,
  offset)
```

### Parámetros

*`parentNode`*

El nodo dentro del cual el foco será movido.


*`offset`*

 El número de caracteres que habrá desde el principio del texto
 *`parentNode`*
 hasta donde el foco se colocará.
isCollapsed
===========

### Resumen

Devuelve un valor boleano verdadero si los puntos de inicio y fin de la selección están en la misma posición.

### Sintaxis
```

sel.isCollapsed
```

### Notas

Incluso hasta una selección colapsada/plegada puede tener un rangeCount mayor que 0. `sel.getRangeAt(0)` puede retornar un rango que también esté colapsado/plegado.
removeAllRanges
===============

### Resumen

Quita todos los rangos de la selección, dejando las propiedades anchorNode y focusNode con un valor `null` (nulo) y dejando nada seleccionado.

### Sintaxis
```

sel.removeAllRanges();
```

### Parámetros

Ninguno.
collapseToStart
===============

### Resumen

Traslada el foco de la selección al mismo punto que el ancla. El ancla no se mueve. Si el contenido es enfocado y editable, el cursor parpadeará ahí.

### Sintaxis
```

sel.collapseToStart()
```

### Parámetros

Ninguno.
URL.port
========

La propiedad **`port`** de la interfaz `URL` es un `USVString` (en-US) que contiene el número de puerto de la URL. Si la URL no contiene un número de puerto explícito, se establecerá `''`.

**Nota:** Esta característica está disponible en Web Workers

Sintaxis
--------
```

string = object.port;
object.port = string;
```

### Valor

Un `USVString` (en-US).

Ejemplos
--------


```js
var url = new URL("https://mydomain.com:80/svn/Repos/");
var result = url.port; // Devuelve:'80'
```

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

| Specification |
| --- |
| URL Standard # dom-url-port |

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

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

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

* La interfaz `URL` a la que pertenece.
URL.createObjectURL()
=====================

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

El método estático **`URL.createObjectURL()`** crea un `DOMString` que contiene una URL que representa al objeto pasado como parámetro. La vida de la URL está ligado al `document` de la ventana en la que fue creada. El nuevo objeto URL representa al objeto `File` especificado o al objeto `Blob`.

**Nota:** El uso de un objeto `MediaStream` (en-US) como entrada a este método está en proceso de ser obsoleto. Las discusiones están en curso sobre si o no debe ser quitado totalmente. Como tal, *se debe de evitar usar este método con `MediaStream` (en-US)s, y se debería usar `HTMLMediaElement.srcObject()` (en-US)*.

**Nota:** Esta característica está disponible en Web Workers

Sintaxis
--------
```

objectURL = URL.createObjectURL(object);
```

Parámetros
----------

`object`

Un objeto `File` o un objeto `Blob` para el que se creará la URL.

Ejemplo
-------

Ver Usando objetos URL para representar imágenes.

Notas
-----

Cada vez que se llama a `createObjectURL()`, un nuevo objeto URL es creado, incluso si ya creaste uno para el mismo objeto. Cada uno de estos objetos puede ser liberado usando `URL.revokeObjectURL()` (en-US) cuándo ya no lo necesitas. Los navegadores liberan estos objetos cuando el documento es cerrado; de todas formas, para obtener un rendimiento óptimo y un óptimo uso de memoria, si hay momentos seguros en los que puedes liberar estos objetos deberías hacerlo. Por ejemplo: No liberar los recursos cuando se ha creado una URL a partir de un `MediaStream` (en-US) puede dejar la luz de la cámara del navegador encendida más tiempo del necesario.

**Nota:** Notese que no es necesario crear URLs a partir de un `MediaStream` (en-US), ya que los objetos de streams deberían asignarse directamente a elementos de reproducción con `HTMLMediaElement.srcObject` (en-US). La posibilidad de usar un `MediaStream` como valor de un objeto está obsoleta.

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

| Specification |
| --- |
| File API # dfn-createObjectURL |

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

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

Mirar también
-------------

* `URL.revokeObjectURL()` (en-US)
* `HTMLMediaElement.srcObject` (en-US)
* Usando archivos desde aplicaciones web
URL: propiedad host
===================

La propiedad **`host`** de la interfaz `URL` es una cadena que contiene el host, es decir, `hostname` (en-US), y luego, si el puerto de la URL no está vacío, un `':'`, seguido del `puerto` de la URL.

**Nota:** Esta característica está disponible en Web Workers

Valor
-----

Una cadena.

Ejemplos
--------


```js
let url = new URL("https://developer.mozilla.org/en-US/docs/Web/API/URL/host");
console.log(url.host); // "developer.mozilla.org"

url = new URL("https://developer.mozilla.org:443/en-US/docs/Web/API/URL/host");
console.log(url.host); // "developer.mozilla.org"
// El número de puerto no está incluido porque 443 es el puerto predeterminado del esquema.

url = new URL("https://developer.mozilla.org:4097/en-US/docs/Web/API/URL/host");
console.log(url.host); // "developer.mozilla.org:4097"
```

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

| Specification |
| --- |
| URL Standard # dom-url-host |

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

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

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

* La interfaz `URL` a la que pertenece.
URL()
=====

El constructor **`URL()`** devuelve un objeto `URL` recién creado que representa la URL definida por los parámetros.

Si la URL base dada o la URL resultante no son URL válidas, se lanza un `DOMException` de tipo `SYNTAX_ERROR`.

**Nota:** Esta característica está disponible en Web Workers

Sintaxis
--------
```

url = new URL(url, [base])
```

### Parámetros

`url`

Un `USVString` (en-US) que representa una URL absoluta o relativa. Si *url* es una URL relativa, se requiere *base*, y se usará como URL base. Si url es una URL absoluta, se ignorará una *base* determinada.

`base` {optional\_inline}}

Un `USVString` (en-US) representa la URL base a usar en caso de que la URL sea una URL relativa. Si no se especifica, el valor predeterminado es `''`.


**Nota:** Aún puede usar un objeto `URL` existente para la base, que se enchufa al atributo `href` del objeto.

### Excepciones

| Excepción | Explicación |
| --- | --- |
| `TypeError` | *url* (en el caso de URL absolutas) o *base* + *url* (en el caso de URL relativas) no es una URL válida. |

Ejemplos
--------


```js
// Urls base
var m = "https://developer.mozilla.org";
var a = new URL("/", m); // => 'https://developer.mozilla.org/'
var b = new URL(m); // => 'https://developer.mozilla.org/'

new URL("es/docs", b); // => 'https://developer.mozilla.org/es/docs'
var d = new URL("/es/docs", b); // => 'https://developer.mozilla.org/es/docs'
new URL("/es/docs", d); // => 'https://developer.mozilla.org/es/docs'
new URL("/es/docs", a); // => 'https://developer.mozilla.org/es/docs'

new URL("/es/docs", "https://developer.mozilla.org/fr-FR/toto");
// => 'https://developer.mozilla.org/es/docs'

new URL("/es/docs", ""); // Provoca una excepción TypeError ya que '' no es una URL válida
new URL("/es/docs"); // Provoca una excepción TypeError ya que '/es/docs' no es una URL válida
new URL("http://www.example.com"); // => 'http://www.example.com/'
new URL("http://www.example.com", b); // => 'http://www.example.com/'

new URL("//foo.com", "https://example.com"); // => 'https://foo.com' (ver URL relativas)
```

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

| Specification |
| --- |
| URL Standard # dom-url-url |

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

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

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

* La interfaz a la que pertenece: `URL`.
Document.designMode
===================

**`document.designMode`** controla la posibilidad de editar un documento entero. Los valores válidos son `"on"` y `"off"`. De acuerdo a las especificaciones, el valor predeterminado de esta propiedad es `"off"`. Firefox sigue este estándar. El valor predeterminado de versiones anteriores de Chrome y IE es `"inherit"`. En IE6-10, el valor se escribe con mayúscula.

Sintaxis
--------


```js
var mode = document.designMode;
document.designMode = "on" || "off";
```

Ejemplo
-------

Hacer un documento `<iframe>` editable:


```js
iframeNode.contentDocument.designMode = "on";
```

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

| Specification |
| --- |
| HTML Standard # dom-document-designmode-dev |

Compatibilidad del Navegador
----------------------------

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

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

* Editando text enriquecido en Mozilla
* `HTMLElement.contentEditable`
* propiedad designMode en MSDN
Document.getSelection()
=======================

Este método funciona exactamente igual que `Window.getSelection()`; devuelve un objeto `Selection` que representa el texto que se ha seleccionado en el documento.

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

| Specification |
| --- |
| Selection API # dom-document-getselection |

Compatibilidad del Navegador
----------------------------

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

La propiedad **`documentURI`** de la interfaz del documento (`Document`) devuelve la ubicación del documento como un *string*.

Originalmente DOM3 fue definido como un atributo de lectura/escritura. En DOM4 se especifica unicamente como de lectura.

Sintaxis
--------


```js
var string = document.documentURI;
```

Notas
-----

Los documentos HTML tienen una propiedad `document.URL` la cual devuelve el mismo valor (ubicación del documento). A diferencia de `URL`, `documentURI` está disponible para todos los tipos de documentos web.

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

| Specification |
| --- |
| DOM Standard # ref-for-dom-document-documenturi① |

Compatibilidad del Navegador
----------------------------

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