Añadir motores de búsqueda desde páginas web

Firefox permite que código JavaScript instale plugins de motores de búsqueda, y soporta dos formatos de plugin de motores de búsqueda: OpenSearch, y Sherlock.

Nota: a partir de Firefox 2, OpenSearch es el formato preferido de búsqueda para Firefox.

Cuando código JavaScript intenta instalar un plugin de búsqueda, Firefox presenta una alerta pidiendo permiso al usuario para instalar el plugin.

Instalando plugins de OpenSearch

Para instalar un plugin de OpenSearch, necesita utlilizar el métodowindow.external.AddSearchProvider() DOM . El síntaxis de éste método es:

window.external.AddSearchProvider(engineURL);

Donde engineURL es la URL absoluta del archivo XML para el plugin del motor de búsqueda.

Nota: El soporte de OpenSearch esta sólo disponible en Firefox 2 y posterior.

Instalando plugins de Sherlock

Para instalar un plugin de Sherlock, necesitará llamar window.sidebar.addSearchEngine(), el síntaxis para el mismo es:

window.sidebar.addSearchEngine(engineURL, iconURL, suggestedName, suggestedCategory);
  • El parámetro engineURL es la URL del plugin de Sherlock (un archivo ".src") a instalar.
  • iconURL es la URL a un icono para asociar al plugin.
  • El parámetro suggestedName sólo se usa al pedir permiso al usuario para instalar el plugin, así que un mensaje cómo "Desea instalar suggestedName de engineURL?" podrá mostrarse.
  • El parámetro suggestedCategory no se usa. Debería especificar un valor vacío tipo string ("") o null (nulo).

Para detalles de Sherlock, visite http://developer.apple.com/macosx/sherlock/

Detección de la capacidad del motor de búsqueda del navegador

Debido a que las APIs para añadir motores de búsqueda ha cambiado en el paso de la versión 1.5 a la 2 de firefox y ya que Firefox 1.5 no soporta los ficheros de descripción OpenSearch, los desarrolladores web que quieran añadir motores de búsqueda manteniendo la compatibilidad hacia atrás (p.e. que funcione en Firefox 1.5, Firefox 2.0 o IE 7) deben soportar tanto el formato Sherlock como el OpenSearch y deben detectar las capacidades del navegador de acuerdo a ello. El siguiente fragmento de código es un ejemplo de cómo puede hacerse esto:

function installSearchEngine() {
 if (window.external && ("AddSearchProvider" in window.external)) {
   // Firefox 2 and IE 7, OpenSearch
   window.external.AddSearchProvider("http://example.com/search-plugin.xml");
 } else if (window.sidebar && ("addSearchEngine" in window.sidebar)) {
   // Firefox <= 1.5, Sherlock
   window.sidebar.addSearchEngine("http://example.com/search-plugin.src",
                                  "http://example.com/search-icon.png",
                                  "Search Plugin", "");
 } else {
   // Sin soporte para motores de búsqueda (IE 6, Opera, etc...).
   alert("Sin soporte para motores de búsqueda");
 }
}

Etiquetas y colaboradores del documento

Colaboradores de esta página: Lesmo sft, Superruzafa, Nukeador, Mgjbot
Última actualización por: Mgjbot,