--- title: Creación de plugins MozSearch slug: Creación_de_plugins_MozSearch tags: - Plugins_de_búsqueda translation_of: Mozilla/Creating_MozSearch_plugins ---
Firefox 2 admite MozSearch, una forma simplificada del formato OpenSearch de Amazon A9 para crear plugins de búsqueda. Los plugins OpenSearch también son admitidos; visite la web de OpenSearch para más detalles.
UN plugin de búsqueda MozSearch es un archivo XML que describe el motor de búsqueda, su URL, y los parámetros que se necesitan pasar a esa URL.
El archivo XML que describe el motor de búsqueda es realmente sencillo siguiendo la plantilla básica de abajo. Las secciones en cursiva necesitan ser personalizadas dependiendo de las necesidades del motor de búsqueda del plugin que estés escribiendo.
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>NombreDelMotor</ShortName>
<Description>Descripcion</Description>
<InputEncoding>CodificacionDeEntrada</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,DatosDeLaImagen</Image>
<Url type="text/html" method="metodo" template="URLdeLaBusqueda">
<Param name="parametro1" value="parametro1"/>
...
<Param name="parametroN" value="parametroN"/>
</Url>
<Url type="application/x-suggestions+json" template="URLdeSugerencias"/>
<SearchForm>URLdelFormularioDeBusqueda</SearchForm>
</SearchPlugin>
method
indica si se usará una petición GET
o POST
para devolver el resultado. El atributo template
indica la URL base para la consulta.
type="text/html"
se usa para especificar la URL de la consulta actual en si misma.
type="application/x-suggestions+json"
se usa para especificar la URL a usar por las sugerencias de búsqueda.
{searchTerms}
para sustituir los términos introducidos por el usuario en la barra de búsqueda.
{searchTerms}
para insertar los términos introducidos por el usuario en la barra de búsqueda.
Una web que ofrezca un plugin de búsqueda pueden anunciarlo para que los usuarios de Firefox puedan descargar e instalar fácilmente el plugin.
Para permitir la autodetección, simplemente debes añadir una línea a la sección <HEAD>
de tu web:
<link rel="search" type="application/opensearchdescription+xml" title="TituloDeLaBusqueda" href="URLdelPlugin">
Remplaza los puntos en cursiva como se explica aquí:
Si tu sitio ofrece varios plugins de búsqueda, puedes habilitar la autodetección de todos. Por ejemplos:
<link rel="search" type="application/opensearchdescription+xml" title="Miweb: Buscar por autor" href="http://www.mysite.com/mysiteauthor.xml"> <link rel="search" type="application/opensearchdescription+xml" title="Miweb: Buscar por título" href="http://www.mysite.com/mysitetitle.xml">
De esta forma, tu sitio puede ofrecer plugins tanto para buscar por autor como por titulo de forma separada.
El siguiente XML es el plugin de búsqueda de Firefox 2 para Yahoo! en inglés:
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> <ShortName>Yahoo</ShortName> <Description>Yahoo Search</Description> <InputEncoding>UTF-8</InputEncoding> <SuggestionUrl>http://ff.search.yahoo.com/gossip?output=fxjson&command=</SuggestionUrl> <Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==</Image> <Url type="text/html" method="GET" template="http://search.yahoo.com/search"> <Param name="p" value="{searchTerms}"/> <Param name="ei" value="UTF-8"/> <Param name="fr" value="moz2"/> </Url> <SearchForm>http://search.yahoo.com/</SearchForm> </SearchPlugin>
Pongamos que el usuario elige usar el plugin de búsqueda de Yahoo! e introduce "mozilla" en la barra de búsqueda y pulsa la tecla enter. Firefox usará el motor de búsqueda anterior para construir la siguiente URL:
http://search.yahoo.com/search?p=mozilla&ei=UTF-8&fr=moz2
Si el usuario pulsa sobre el icono de la lupa en la barra de búsqueda, o elige la opción Búsqueda web en el menú Herramientas cuando la barra de búsqueda no está visible, el navegador le enviará a <tt>http://search.yahoo.com/</tt>, el valor del elemento <SearchForm>
.
Este plugin te permitirá buscar fácilmente en la web del Mozilla Developer Center.
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> <ShortName>MDC</ShortName> <Description>Mozilla Developer Center search</Description> <InputEncoding>UTF-8</InputEncoding> <Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2BrVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D</Image> <Url type="text/html" method="GET" template="http://developer.mozilla.org/en/docs/Special:Search?search={searchTerms}"/> <SearchForm>http://developer.mozilla.org/en/docs/Special:Search</SearchForm> </SearchPlugin>
Date cuenta que en este caso en vez de usar <Param>
para definir los parámetros del motor de búsqueda, simplemente se incrustó dentro de la URL de la plantilla. Es la forma recomendada de hacerlo cuando usamos como metodo GET
. <Param>
se usaría para POST
.
Si hay alguna errata en el XML del plugin de búsqueda, puede que te encuentres con errores al añadir un plugin en Firefox (Bon Echo) Alpha 3. Los mensajes de error quizás no te ayuden completamente, sin embargo, los consejos siguientes pueden ayudarte a encontrar el problema.
xmlns
es importante, sin él puede que te encuentres con un mensaje de error indicándote que "Bon Echo no puede descargar el plugin desde (URL)"
Además, el servicio de plugin de búsqueda proporciona un mecanismo de registros que puede ser usado por los desarrolladores del mismo. Usa about:config para fijar la preferencia 'browser.search.log
' a true
. La información aparecerá en la Consola de error de Firefox (Herramientas->Consola de error) cuando se añada el plugin de búsqueda.
Firefox 2 también admite el formato OpenSearch de Amazon A9 para compartir resultados de búsqueda. Si escribes un plugin XML usando la Sintaxis OpenSearch, puedes meterlo en el directorio <tt>searchengines</tt> dentro del perfil de usuario, en el directorio de la aplicación, o en el paquete de instalación para añadir soporte a dicho motor de búsqueda.
El formato OpenSearch es similar al formato SearchPlugin de Mozilla. La principal diferencia es el elemento inicial y los espacios de los nombres del XML.
<?xml version="1.0" encoding="UTF-8"?> <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> ... </OpenSearchDescription>