recursal/MDN huggingface dataset:
Glosario de MDN Web Docs: Definiciones de términos relacionados con la Web
==========================================================================

Las tecnologías web contienen largas listas de jerga y abreviaturas que se utilizan en la documentación y la codificación. Este glosario proporciona definiciones de palabras y abreviaturas que necesita saber para comprender y crear correctamente para la web.

Los términos del glosario se pueden seleccionar en la barra lateral.

**Nota:** Este glosario es un trabajo en progreso interminable. Puede ayudar a mejorarlo escribiendo nuevas entradas o mejorando las existentes.
El proyecto MDN
===============

El proyecto de documentación de la web de MDN (MDN web docs) es un wiki en el que se documenta la web abierta (estándares web), las tecnologías de Mozilla y otros temas de desarrollo. Todos tienen permiso de añadir y editar contenido. No necesitas ser un programador o saber mucho de tecnología; hay muchas actividades que necesitan llevarse a cabo, tanto simples (por ejemplo: Corregir ortografía, puntuación, etc.) como complejas (documentar las API).

La misión de MDN web docs es darle a los *desarrolladores* la *información* que necesitan para realizar proyectos en la *plataforma web fácilmente*. ¡Te invitamos a ayudar!

¡Necesitamos de tu ayuda! Es fácil, no te preocupes por pedir permiso o por cometer errores. Además, visita y conoce a la comunidad MDN; ¡estamos aquí para ayudarte! Los artículos indicados a continuación te ayudarán a empezar.

Soy nuevo aquí

¿Eres nuevo en MDN y quieres saber cómo mejorar MDN? ¡Empieza aquí!

Soy un usuario avanzado

Visita nuestra guía completa para los colaboradores de la MDN si ya conoces lo básico

¡Compártelo!

Si te gusta MDN, ¡ayúdanos compartiéndolo! Aquí encontrarás herramientas, guías e imágenes para promocionar a la MDN.

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

* Únete a la comunidad de MDN web docs
Tecnología para desarrolladores web
===================================

La Web abierta presenta increíbles oportunidades para los desarrolladores. Para aprovechar al máximo estas tecnologías, debes saber cómo utilizarlas. A continuación, encontrarás enlaces a nuestra documentación de tecnología web.

Documentación para desarrolladores web
--------------------------------------

Referencia para desarrolladores web (en-US)

Una lista de todas las referencias para tecnologías web, incluidas las de HTML, CSS, etc.

Guía para desarrolladores web

La Guía para desarrolladores web ofrece contenido práctico útil que te ayudará a utilizar las tecnologías web para hacer lo que quieres o necesitas hacer.

Tutoriales para desarrolladores web

Una lista de tutoriales que te guiarán paso a paso a través del aprendizaje de las APIs, tecnologías o amplias áreas temáticas.

Desarrollar aplicaciones web (en-US)

Documentación para desarrolladores de aplicaciones web; Las aplicaciones web son verdaderas aplicaciones de una sola escritura y se implementan en cualquier lugar para dispositivos móviles, de escritorio y Firefox OS.

Fragmentos de código

Esta es una lista rápida de fragmentos de código útiles (pequeñas muestras de código) disponibles para los desarrolladores de extensiones para las diversas aplicaciones de Mozilla. Muchos de estos ejemplos también se pueden utilizar en aplicaciones XULRunner, así como en el propio código de Mozilla.

Referencias de tecnología web
-----------------------------

APIs web (en-US)

Material de referencia para cada una de las APIs individuales que comprenden la poderosa capacidad de secuencia de comandos de la Web, incluido el DOM y todas las APIs e interfaces relacionadas que puedes utilizar para crear contenido y aplicaciones Web.

HTML

El lenguaje de marcado de hipertexto es el lenguaje utilizado para describir y definir el contenido de una página web.

CSS

Las hojas de estilo en cascada (*Cascading Style Sheets*) se utilizan para describir la apariencia del contenido web.

SVG

Los gráficos vectoriales escalables (*Scalable Vector Graphics*) te permiten describir imágenes como conjuntos de vectores y formas para permitirles escalar sin problemas, independientemente del tamaño en el que se dibujen.

MathML

El lenguaje de marcado matemático permite mostrar sintaxis y ecuaciones matemáticas complejas.

Temporal

Lo siguiente aquí es temporal para ayudarte a realizar un seguimiento de las cosas mientras el trabajo de la organización está en curso. No le hagas caso.

* Accesibilidad
* Aplicaciones Web Progresivas
* CSS
* Creacion de plugins OpenSearch para Firefox
* Demostraciones de tecnologías de Web Abierta
* EXSLT
* Guía de Desarrollo Web
* HTML: Lenguaje de etiquetas de hipertexto
* HTTP
* JavaScript
* MathML
* Referencia de Eventos
* Referencia de la API Web
* Rendimiento Web
* SVG
* Seguridad Web
* Tecnologías multimedia de la web
* Tutoriales
* Web App Manifest
* XML: Lenguaje de marcado extensible
* XPath
* XSLT
Mozilla
=======

Esta página fue auto-generada ya que un usuario creó una sub-página a esta página.
API
===

Las API de JavaScript para las Extensiones Web se pueden usar dentro de los scripts en segundo plano de la extensión y en cualquier otro documento contenido en la extensión, incluyendo las ventanas emergentes de acción de página (en-US) o acción del navegador (en-US), barras laterales (en-US), páginas de opciones (en-US) o páginas de pestañas nuevas. A algunas de estas API también se puede acceder mediante los scripts de contenido de una extensión ( consulte la lista en la guía de script de contenido).

Para usar API más poderosas debes solicitar permiso en manifest.json en tu extensión.

Puedes acceder a las API utilizando el namespace `browser`:


```js
function logTabs(tabs) {
  console.log(tabs);
}

browser.tabs.query({ currentWindow: true }, logTabs);
```


Muchas de las APIs son asíncronas, devolviendo un `Promise`:


```js
function logCookie(c) {
  console.log(c);
}

function logError(e) {
  console.error(e);
}

var setCookie = browser.cookies.set({ url: "https://developer.mozilla.org/" });
setCookie.then(logCookie, logError);
```


Tenga en cuenta que esto es diferente del sistema de extensiones de Google Chrome, que utiliza el nombre `chrome` en lugar de `browser`, y que utiliza `callbacks` en lugar de `promise` para funciones asíncronas. Como ayuda para portar, la implementación de Firefox de la API WebExtensions admite `chrome` y `callbacks`, así como `browser` y `promise`. Mozilla también ha escrito un *polyfill* que habilita el código que usa `browser` y `promise` para trabajar sin cambios en Chrome.: https://github.com/mozilla/webextension-polyfill.

Firefox también implementa estas APIs bajo el nombre `chrome` usando `callbacks`. Esto permite que el código escrito para Chrome se ejecute sin cambios en Firefox para las APIs documentadas aquí.

Microsoft Edge usa el namespace `browser`, pero aún no admite APIs asíncronas basadas en `promise`. En Edge, por el momento, las APIs asíncronas deben utilizar `callbacks`.

No todos los navegadores son compatibles con todas las APIs: para obtener más información, consulte Soporte del navegador para las API de JavaScript.

Listado de API de JavaScript
----------------------------

Vea a continuación una lista completa de las API de JavaScript:

Esta página lista todas las APIs JavaScript de WebExtension que actualmente son soportadas.

i18nFunciones para internacionalizar su extensión. Es posible utilizar estas API para obtener cadenas de texto traducidas a partir de archivos de configuración regional incluidos en la extensión, conocer el idioma actual del navegador y recuperar el valor de su cabecera Accept-Language (en-US).

storagePermite que las extensiones almacenen y recuperen datos, y escuchen los cambios realizados en los elementos almacenados.

Incompatibilidades con Chrome
-----------------------------

Nosotros no soportamos ninguna API que no es listada arriba.

Incluso, para las APIs que están listadas arriba, no siempre soportamos todas las propiedades que Chrome soporta. Por favor, chequea la página de la API para cualquier incompatibilidad con Chrome.
manifest.json
=============

**Nota:** Este artículo describe manifest.json para extensiones web. Si estás buscando información acerca de manifest.json en PWAs, revisa el artículo sobre Web App Manifest.

El archivo `manifest.json` es el único archivo que toda extensión usando la API WebExtension debe contener necesariamente.

Usando `manifest.json`, puedes especificar los metadatos básicos de tu extensión como nombre y versión, así como aspectos funcionales de tu extensión (tales como scripts en segundo plano, scripts de contenido y acciones del navegador).

Es un archivo con formato JSON, con una excepción: permite comentarios con "`//`".

Lista de claves de `manifest.json`
----------------------------------

Las claves de manifest.json son:

* icons
### Notas acerca de las claves de manifest.json

* `"manifest_version"`, `"version"`, and `"name"` son las únicas llaves obligatorias.
* `"default_locale"` Debe estar presente **solo** si la carpeta "`_locales`" existe.
* `"browser_specific_settings"` no tiene soporte en Google Chrome.
### Acceder a las claves de manifest.json en tiempo de ejecución

Puedes acceder a el manifest desde el código JavaScript de tu extensión utilizando la función `runtime.getManifest()` (en-US):


```js
browser.runtime.getManifest().version;
```

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

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

Para un resumen extendido de las llaves y sub-llaves ver la tabla completa de compatibilidad de `manifest.json` en navegadores (en-US).

Ver También
-----------

API JavaScript de `permissions` (en-US)
icons
=====

| Tipo | `Object` |
| --- | --- |
| Obligatorio | No |

La propiedad `icons` especifica los iconos de tu extensión. Esos iconos se usarán para representar la extensión en componentes como el Administrador de complementos.

Consiste en pares clave-valor del tamaño de la imagen en px y la ruta de la imagen relativa al directorio raíz de la extensión.

Si `icons` no esta definido, se utilizará un icono de extensión estándar por defecto.

Debería suministrar al menos un icono de extensión principal, idealmente de 48x48 px de tamaño. Este es el icono por defecto que se utilizará en el Administrador de complementos. Sin embargo, puedes suministrar iconos de cualquier tamaño y Firefox intentará encontrar el mejor icono para mostrar en los diferentes componentes.

Firefox tendrá en cuenta la resolución de la pantalla al elegir un icono. Para ofrecer la mejor experiencia visual a los usuarios con pantallas de alta resolución, como las pantallas Retina, proporciona versiones de doble tamaño de todos sus iconos.

Ejemplo
-------

Las propiedades del objeto `icons` especifican el tamaño del icono en px, los valores especifican la ruta relativa del icono. Este ejemplo contiene un icono de extensión de 48px y una versión más grande para pantallas de alta resolución.


```json
"icons": {
  "48": "icon.png",
  "96": "icon@2x.png"
}
```

SVG
---

Puede usar SVG y el navegador escalará su icono adecuadamente. Sin embargo, hay dos advertencias:

1. Necesitas especificar un viewBox en la imagen. E.g.:

```html
<svg viewBox="0 0 48 48" width="48" height="48" ...
```

2. Aunque puedes usar un archivo, todavía necesitas especificar varios tamaños del icono en tu manifiesto. E.g.:

```json
"icons": {
  "48": "icon.svg",
  "96": "icon.svg"
}
```


**Nota:** Si está usando un programa como Inkscape para crear SVG, puede que quiera guardarlo como un "SVG simple". Firefox podría confundirse con varios espacios de nombres especiales y no mostrar su icono.

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

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

Comúnmente denominado botón de acción de página, esta opción de interfaz de usuario es un botón agregado a la barra de direcciones del navegador. Los usuarios pueden hacer clic en el botón para interactuar con sus extensiones.

![](/es/docs/Mozilla/Add-ons/WebExtensions/user_interface/Page_actions/address_bar_button.png)

Acciones de página y acciones de navegador
------------------------------------------

El botón de la barra de direcciones (o página de acción) es muy parecida al botón de la barra de herramientas (o acción del navegador).

Las diferencias son:

* **La localización del botón:**
    + La acción de página es mostrado dentro de la barra de direcciones del navegador.
    + La acción del navegador es mostrado fuera de la barra de direcciones, exactamente en la barra de herramientas del navegador.
* **La visibilidad del botón:**
    + La acción de página esta oculta por defecto (sin embargo esto puede ser cambiado en la propiedades `show_matches` y `hide_matches` manifest key), y tu puedes llamar `pageAction.show()` (en-US) y `pageAction.hide()` (en-US) para mostrar o ocultar esto en pestañas especificas.
    + La acción del navegador siempre esta mostrada.

Usa una página de acción cuando cuando la acción este relacionada a la página en curso, y una acción de navegador cuando cuando la acción este relacionada a todas o a muchas páginas. Por ejemplo:

| Type | Bookmarks action | Content action | Tabs operation |
| --- | --- | --- | --- |
| page action | Marcar esta página | Reddit enhancement | Enviar una pestaña |
| browser action | Mostrar todos los marcadores | Habilitar ad-blocking | Sincronizar todas las pestañas |

Specifying the page action
--------------------------

You define the page action's properties using the `page_action` (en-US) key in manifest.json:


```json
"page\_action": {
  "browser\_style": true,
  "default\_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default\_title": "Whereami?"
}
```


The only mandatory key is `default_icon`.

There are two ways to specify a page action: with or without a popup.

* **Without a popup:** When the user clicks the button, an event is dispatched to the extension, which the extension listens for using `pageAction.onClicked` (en-US):
* 
```js
browser.pageAction.onClicked.addListener(handleClick);
```

* **With a popup:** the `click` event is not dispatched. Instead, the popup appears when the user clicks the button. The user then interacts with the popup. When the user clicks outside of the popup, it closes automatically. See the Popuparticle for more details on creating and managing popups.

Note that your extension can have one-page action only.

You can change any of the page action properties programmatically using the `pageAction` (en-US) API.

Icons
-----

For details on how to create icons to use with your page action, see Iconography in the Photon Design System documentation.

Examples
--------

The webextensions-examples repository on GitHub includes the chill-out example which implements a page action without a popup.
Botón de la Barra de Herramientas
=================================

 Generalmente referidas como acciones de navegador (en-US), esta opción de interfaz de usuario corresponde a un botón agregado a la barra de herramientas del navegador. Los usuarios pueden hacer click en el botón para interactuar con tu extensión.

 ![](/es/docs/Mozilla/Add-ons/WebExtensions/user_interface/Toolbar_button/browser-action.png)

El botón de la barra de herramientas (acción de navegador) es muy parecido al botón de la barra de direcciones (acción de página). Para conocer las diferencias y obtener consejo en cuándo usar qué tipo de botón, te recomendamos ver Acciones de página y acciones de navegador.

Especificando la acción de navegador
------------------------------------

Puedes definir las propiedades de la acción de navegador utilizando la llave `browser_action` (en-US) del archivo manifest.json:


```json
"browser\_action": {
  "default\_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default\_title": "Whereami?"
}
```


El único campo obligatorio es `default_icon`.

Existen dos formas de especificar una acción de navegador: con o sin una ventana emergente. Si no especificas una ventana emergente, se le entregará un evento a la extensión cada vez que el usuario haga click en el botón. El evento es escuchable usando `browserAction.onClicked` (en-US):


```js
browser.browserAction.onClicked.addListener(handleClick);
```


En cambio, si especificas una ventana emergente, el evento de click no es despachado al hacer click en el botón: en su lugar, la ventana emergente es mostrada. El usuario podrá interactuar con la ventana emergente, la cual se cerrará automáticamente cada vez que el usuario haga click fuera de ella. Te recomendamos revisar el artículo de ventanas emergentes para conocer más detalles sobre la creación y administración de éstas.

Cabe destacar que tu extensión puede tener solamente una acción de navegador.

Puedes cambiar cualquier propiedad de la acción de navegador de forma programática, utilizando la API `browserAction` (en-US).

Íconos
------

Para más detalles sobre cómo crear íconos para usarlos en tu acción de navegador, revisa Iconografía en la documentación del Sistema de Diseño Photon.

Ejemplos
--------

El repositorio de GitHub webextensions-examples contiene dos ejemplos de extensiones que implementan acciones de navegador:

* bookmark-it usa una acción de navegador sin una ventana emergente.
* beastify usa una acción de navegador con una ventana emergente.
i18n
====

Funciones para internacionalizar su extensión. Es posible utilizar estas API para obtener cadenas de texto traducidas a partir de archivos de configuración regional incluidos en la extensión, conocer el idioma actual del navegador y recuperar el valor de su cabecera Accept-Language (en-US).

Para obtener más información sobre el uso de i18n en su extensión, consulte:

* Internacionalización (en-US): una guía para utilizar el sistema de l18n de WebExtensions.
* Referencia de mensajes específicos de la configuración regional (en-US): las extensiones proporcionan cadenas específicas de la configuración regional en archivos denominados `messages.json`. Esta página describe el formato de `messages.json`.
Tipos
-----

`i18n.LanguageCode` (en-US)

Una etiqueta de idioma como «`en-US`» o «`fr`».

Funciones
---------

`i18n.getAcceptLanguages()` (en-US)

Recupera los valores de accept-language (en-US) del navegador. Esto es distinto de la configuración regional utilizada por el navegador. Para obtener la configuración regional, utilice `i18n.getUILanguage` (en-US).

`i18n.getMessage()` (en-US)

Obtiene la cadena de texto traducida correspondiente al mensaje especificado.

`i18n.getUILanguage()` (en-US)

Obtiene el idioma de la IU del navegador. Esto es distinto de `i18n.getAcceptLanguages` (en-US), que devuelve los idiomas preferidos del usuario.

`i18n.detectLanguage()` (en-US)

Detecta el idioma del texto proporcionado a través de Compact Language Detector.

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

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

Example extensions
------------------

* menu-accesskey-visible
* menu-demo
* notify-link-clicks-i18n

**Nota:** **Reconocimientos**

Esta API se basa en la API `chrome.i18n` de Chromium. Esta documentación deriva del archivo `i18n.json` en el código fuente de Chromium.

Los datos de compatibilidad de Microsoft Edge son suministrados por Microsoft Corporation y se incluyen aquí según los términos de la licencia Creative Commons Atribución 3.0, versión estadounidense.
storage.local
=============

Representa el área de almacenamiento local. Los elementos en el almacenamiento local son locales a la máquina en la que se instaló la extensión.

El navegador puede restringir la cantidad de datos que una extensión puede almacenar en el área de almacenamiento local:

 Chrome limita la extensión a 5MB de datos usando esta API a menos que tenga el permiso "unlimitedStorage".
 Firefox le permite solicitar el permiso "Almacenamiento ilimitado" de la versión 56 en adelante. Aún no restringe la cantidad de datos que su extensión puede almacenar, pero comenzará a hacerlo en una versión futura: por lo tanto, es una buena idea solicitar el permiso de "Almacenamiento ilimitado" ahora, si tiene la intención de almacenar una gran cantidad de datos.

Cuando se desinstala la extensión, se borra su almacenamiento local asociado.

También en Firefox, puede evitar que el navegador borre el almacenamiento local al desinstalar "about: config" y configurar las siguientes dos preferencias de navegador como verdaderas: "keepUuidOnUninstall" y "keepStorageOnUninstall". Esta característica se proporciona para ayudar a los desarrolladores a probar sus extensiones. Las extensiones en sí mismas no pueden cambiar estas preferencias.

Aunque esta API es similar a Window.localStorage, se recomienda que no use Window.localStorage en el código de extensión. Firefox borrará los datos almacenados por las extensiones utilizando la API localStorage en varios escenarios donde los usuarios borran su historial de navegación y los datos por razones de privacidad, mientras que los datos guardados utilizando la API storage.local se conservarán correctamente en estos escenarios.

Metodos
-------

El objeto local implementa los métodos definidos en el`storage.StorageArea` (en-US) tipo:

`storage.StorageArea.get()` (en-US)

Recupera uno o más elementos del área de almacenamiento.

`storage.StorageArea.getBytesInUse()` (en-US)

Obtiene la cantidad de espacio de almacenamiento (en bytes) utilizado por uno o más elementos que se almacenan en el área de almacenamiento.

`storage.StorageArea.set()` (en-US)

Almacena uno o más artículos en el área de almacenamiento. Si el artículo ya existe, su valor será actualizado. Cuando establezca un valor, se activará el evento `storage.onChanged` (en-US).

`storage.StorageArea.remove()` (en-US)

Elimina uno o más elementos del área de almacenamiento.

`storage.StorageArea.clear()` (en-US)

Elimina todos los elementos del área de almacenamiento.

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

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

### Example extensions

* annotate-page
* forget-it
* navigation-stats
* proxy-blocker
* quicknote
* stored-credentials

**Nota:** **Agradecimientos**

Esta API se basa en la API `chrome.storage` de Chromium. Esta documentación se deriva de `storage.json` en el código de Chromium.

Los datos de compatibilidad de Microsoft Edge son proporcionados por Microsoft Corporation y se incluyen aquí bajo la Licencia de Estados Unidos Creative Commons Attribution 3.0.