# Extensión de navegador

Una extensión de navegador es un pequeño módulo de software para personalizar un navegador web. Los navegadores permiten variedad de extensiones; incluida la modificación de la interfaz de usuario, bloqueo de publicidad y la administración de las cookies. Generalmente las extensiones son creadas utilizando tecnologías web como HTML, JavaScript y CSS.
Un complemento de navegador es un tipo de módulo separado. La principal diferencia es que las extensiones generalmente son solo código fuente, pero los complementos son siempre ejecutables. A partir de 2019, la mayoría de los navegadores han desaprobado los complementos, mientras que las extensiones se utilizan ampliamente. El navegador más popular Google Chrome, tiene miles de extensiones disponibles, pero solo un complemento: Adobe Flash Player que está deshabilitado de forma predeterminada.

## Historia

Internet Explorer comenzó a admitir extensiones desde la versión 5 lanzada en 1999. Firefox ha admitido extensiones desde su lanzamiento en 2004. El navegador web de escritorio Opera admite extensiones desde la versión 10 lanzada en 2009. Google Chrome comenzó a admitir extensiones desde la versión 4 publicada en 2010. Safari comenzó a admitir extensiones nativas a partir de la versión 5 lanzada en 2010. Microsoft Edge comenzó a admitir extensiones en marzo de 2016.En 2024 Edge comenzó a admitir extensiones en la versión móvil del navegador (actualmente de forma experimental)
La sintaxis de las extensiones puede ser muy diferente de un navegador a otro, o al menos lo suficientemente diferente como para que una extensión que funcione en un navegador no funcione en otro. En cuanto a las herramientas de los motores de búsqueda, un intento de evitar este problema es la estrategia de etiquetas múltiples propuesta por el proyecto Mycroft, una base de datos de complementos de motores de búsqueda que funciona en diferentes navegadores.

## Instalación

Muchos navegadores tienen una tienda en línea que permite a los usuarios encontrar extensiones y ver listas de extensiones populares. Google Chrome, Firefox, Microsoft Edge, Opera y Safari ofrecen sus tiendas.

## Funciones

Las extensiones de navegador se utilizan para mejorar la interfaz de usuario de un navegador, la seguridad o la accesibilidad, el bloqueo de anuncios, y varias otras características para hacer la navegación por Internet más fácil y agradable. Existen muchos tipos de extensiones que pueden utilizarse para controlar varios aspectos de la privacidad de la navegación y mitigar las amenazas. Por ejemplo, pueden impedir que terceros rastreen los movimientos del usuario, bloquear anuncios y scripts, o imponer buenos hábitos.
Una barra de herramientas del navegador es un tipo común de extensiones del navegador que altera la interfaz de usuario. Es una barra de herramientas que se encuentra dentro de la ventana de un navegador. Todos los principales navegadores web son compatibles con las barras de herramientas del navegador como forma de ampliar la interfaz de usuario y la funcionalidad del navegador. Las barras de herramientas del navegador son específicas para cada navegador, lo que significa que una barra de herramientas que funciona en un navegador no funcione en otro.

## Desarrollo

El desarrollo de extensiones de navegador es la creación de una extensión para un navegador específico. Cada tipo de navegador tiene su propia arquitectura e interfaces de programación de aplicaciones (API) para construir las extensiones, lo que requiere código y habilidades diferentes para cada extensión. La API original era NPAPI. Fue desarrollado por primera vez para navegadores Netscape, a partir de 1995 con Netscape Navigator 2.0, pero posteriormente fue adoptado por otros navegadores. Microsoft no adoptó esta API para Internet Explorer y en su lugar eligió ActiveX para los complementos que alteran el contenido. Los complementos que alteran el navegador, llamados Browser Helper Object (BHO), fueron diseñados en base a una interfaz de Component Object Model (COM). Google introdujo más tarde la interfaz PPAPI en Chrome, a pesar de que sus extensiones principales de Google Chrome están construidas utilizando tecnologías web como HTML5, JavaScript y CSS. Firefox ha soportado o soporta muchas tecnologías para desarrollar lo que llama "Complementos de Mozilla", incluyendo NPAPI, XUL, XPI, XPCOM, XPConnect y JetPack, así como tecnologías web como HTML5, JavaScript y CSS. Su API "WebExtensions" es compatible con las API de extensiones de Google Chrome y Microsoft Edge.