--- title: Añadir motores de búsqueda desde páginas web slug: conflicting/Web/OpenSearch tags: - Plugins_de_búsqueda translation_of: Web/OpenSearch translation_of_original: Web/API/Window/sidebar/Adding_search_engines_from_Web_pages original_slug: 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.
Cuando código JavaScript intenta instalar un plugin de búsqueda, Firefox presenta una alerta pidiendo permiso al usuario para instalar el plugin.
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.
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);
engineURL
es la URL del plugin de Sherlock (un archivo ".src") a instalar.
iconURL
es la URL a un icono para asociar al plugin.
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.
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/
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"); } }