Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Permitir sugerencias en los plugins de búsqueda

MozSearch admite sugerencias mientras el usuario escribe el la barra de búsqueda, Firefox 2 pregunta a la URL especificada por el plugins del motor de búsqueda para devolver sugerencias en tiempo real.

Una vez que se ha obtenido la lista, se muestra en un cuadro emergente que aparece debajo de la barra de búsqueda, que permite al usuario seleccionar un término sugerido. Si el usuario continua escribiendo, se solicita una nueva lista de sugerencias al motor de búsqueda, y se muestra actualizada.

Los plugins de Yahoo y Google incluidos en Firefox 2 admiten sugerencias de búsqueda.

Implementar soporte para sugerencias en un plugin de búsqueda

Para soportar sugerencias, un plugin de búsquedaa necesita definir un elemento extra <Url> con su atributo type definido como "application/x-suggestions+json". (esto significa que los plugins con soporte para sugerencias tendrán dos elementos <Url>, siendo el otro la URL principal text/html.)

Por ejemplo, el plugin de búsqueda de Yahoo tiene esta <Url>:

<Url type="application/x-suggestions+json" template="https://ff.search.yahoo.com/gossip?output=fxjson&command={searchTerms}"/>

Si el usuario escribe "fir" en la barra de búsqueda, y se detiene, Firefox insertará "fir" en el lugar de {searchTerms} y consultará esa URL:

<Url type="application/x-suggestions+json" template="https://ff.search.yahoo.com/gossip?output=fxjson&command=fir"/>

Los resultados son usados para construir el diálogo con la lista de sugerencias.

Lee Creación de plugins MozSearch para conocer mas sobre como implementar un plugin de búsqueda.

Implementar las sugerencias en el servidor

La mayor parte del trabajo para manipular las sugerencias de búsqueda es realmente implementada en el lado del servidor. Si eres desarrollador web, y quieres soportar las sugerencias de búsqueda, necesitas implementar el soporte para devolver las sugerencias en JavaScript Object Notation (JSON) dado un termino de búsqueda.

Cuando el navegador desea obtener posibles resultados de un término de búsqueda, envia una solicitud HTTP GET a la URL especificada por el elemento <Url>.

Tu servidor debe entonces decidir que sugerencias debe ofrecer usando los medios que vea necesarios, y construyedo un JSON que consista en al menos dos, y como mucho cuatro, elementos:

query string
El primer elemento en el JSON es la cadena de búsqueda original. Esto permite a Firefox verificar que la sugerencia concuerda con el término de búsqueda actual.
completion list
Un array de los términos sugeridos. El array debe estar entre corchetes. Por ejemplo: <tt>["termino 1", "termino 2", "termino 3", "termino 4"]</tt>
descriptions
Este elemento opcional es un array de descripciones de cada sugerencia en la completion list. Esto puede ser cualquier información que el motor de búsqueda quiera devolver para que se muestre en el navegador, como el numero de resultados disponibles para dicha búsqueda.
Las descripciones no son soportadas en Firefox 2, y son ignoradas si alguna es espeficificada.
query URLs
Este elemento opcional es un array de URLs alternativas para cada sugerencia de la completion list. Por ejemplo, si quieres ofrecer un enlace a un mapa en vez de simplemente un resultado de búsqueda para una sugerencia, puedes devolver una URL a un mapa en este array.
Si no especificas una URL para la petición, la petición por defecto se manda por defecto al elemento <Url> definido en la descripción XML del plugin.
Las query URLs no son soportadas en Firefox 2, y son ignoradas.

Por ejemplo, si el término a buscar es "fir", y no necesitas devolver descripciones o urls alternativas, puedes devolver el siguiente JSON:

["fir", ["firefox", "first choice", "mozilla firefox"]]

Date cuenta que en este ejemplo, solo se especifican la query string y el completion array, sin especificar los elementos opcionales.

Tu completion list puede incluir tantas sugerencias como quieras, aunque debe mantenerse manejable, dado que los datos se estarán actualizando en tiempo real mientras el usuario está escribiendo una palabra. Además, el método que usas para elegir las sugerencias depende de ti.

Etiquetas y colaboradores del documento

Etiquetas: 
 Colaboradores en esta página: Mgjbot, Nukeador
 Última actualización por: Mgjbot,