# Complemento (Mozilla)

Un complemento es una mejora instalable para los proyectos de la Fundación Mozilla (y compatible con sus variantes, como la versión portable de Mozilla Firefox). Un complemento permite al usuario aumentar las funcionalidades de la aplicación, usar diferentes temas y manejar nuevo tipo de contenido.
Tipos de complementos:
* extensiones
* aparencia
** temas completos
** temas de fondo
* plugins

## Extensiones

Las extensiones pueden ser usadas para modificar el comportamiento existente de las funcionalidades de la aplicación o añadir nuevas. Las extensiones son especialmente populares para el navegador Mozilla Firefox, ya que Mozilla lo desarrolló con la intención de crear un navegador minimalista.

### Instalación

En Firefox, el administrador de complementos se abre al pulsar CTRL + SHIFT + A o bien yendo a Herramientas / Complementos, desde donde puedan instalarse por sus usuarios para personalizar el aspecto y comportamiento del navegador. Una vez instalada la extensión, si no aparece el icono, hay que ir a Ver / Barras de Herramientas / Personalizar y arrastrar y soltar el icono de la extensión en la barra de herramientas.

### Tecnología de las extensiones

* CSS (Hojas de estilo en cascada)
* DOM (Document Object Model) – Usado para cambiar XUL en tiempo real o editar los elementos HTML cargados.
* JavaScript – El lenguaje principal del navegador.
* XPCOM (Cross-Platform Component Object Model)
* XPConnect
* XPI (Instalador multiplataforma)
* XUL (XML User Interface Language) – Usado para definir la interfaz gráfica y la interacción con el usuario.

### Usos
#### Añadir características

Las extensiones son usadas para añadir funcionalidades a la aplicación, por ejemplo: lectores de RSS, organizadores de marcadores, toolbars, clientes de correo, cambio de servidores proxy, herramientas de desarrollo, etc.

#### Modificar la forma en la que los usuarios ven las páginas web

Muchas extensiones cambian el contenido de una página cuando es renderizada. Por ejemplo, la extensión Adblock permite no cargar imágenes de publicidad. Greasemonkey permite al usuario instalar scripts con los que modificar la apariencia de las páginas.

#### Otros usos

También existen extensiones de propósito frívolo, humorístico o satírico. Por ejemplo, generar un nombre aleatorio para el navegador Mozilla Firefox, aludiendo a sus variados cambios de nombre.

#### Actualización de extensiones

El gestor de extensiones, comprueba periódicamente si existen actualizaciones para las extensiones que están instaladas, aunque también puede hacerse de forma manual.

#### Compatibilidad

Cada extensión contiene un archivo de meta-información. Entre otras cosas, este archivo identifica cuál es la versión máxima y mínima de la aplicación en la que funciona. Si intentásemos instalar una extensión fuera de este rango, la extensión se instalaría pero estará deshabilitada. Sin embargo, esto no siempre es así, ya que en ocasiones se puede instalar más allá de la versión máxima. Para intentar instalar actualizaciones antiguas, basta con marcar la casilla "ignorar la versión de compatibilidad máxima" -que aparece instalando la extensión MR Tech Toolkit-. Así, todas las extensiones se instalarán activadas, aunque pueden no funcionar.

## Plugins

Los plugins más comunes son:
* Acrobat Reader
* Flash Player
* Java
* Quicktime
* RealPlayer
* Shockwave
* Windows Media Player