Muchos navegadores modernos tienen un cuadro de búsqueda en el lado derecho de la barra de direcciones y la búsqueda de Google está instalada de forma predeterminada. Como se muestra a continuación:
De hecho, esta es una aplicación de OpenSearch. Siempre que escriba el archivo xml en microformato correspondiente, puede formular el cuadro de búsqueda correspondiente. Consultando el documento de definición de OpenSearch, básicamente puede obtener el formato xml básico. Por ejemplo, un archivo xml de búsqueda típico se puede especificar así.
<?xml versión="1.0" codificación="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<InputEncoding>utf-8</InputEncoding>
<NombreCorto>NombreCorto</NombreCorto>
<Descripción>Descripción</Descripción>
<Image type="image/vnd.microsoft.icon">favicon</Image>
<Url tipo="text/html" template="http://who.am.i/search?word={searchTerms}"/>
</OpenSearchDescripción>
El archivo xml anterior es fácil de entender. Excepto por la raíz xml fija, otras definiciones se pueden entender literalmente:
La escritura del formato xml de OpenSearch está completa. Para obtener información detallada, consulte su documento de definición de OpenSearch. A continuación, debemos agregar esta búsqueda a la página. Básicamente, hay dos formas. Deben agregar etiquetas de enlace en el encabezado de la página (similar a RSS) y agregarlas usando Javascript (como definir un botón para activar). Agregar etiquetas de enlace es muy simple, el formato es el siguiente
<enlace rel="búsqueda" tipo="aplicación/opensearchdescription+xml"
href="http://who.am.i/search.xml" title="Nombre corto" />
Similar a RSS, rel y tipo son fijos. Principalmente especificamos href (la ruta URL del xml anterior, para estar seguro, use la ruta absoluta, es decir, comenzando con http://) y el título (es decir, el corto). título de la búsqueda). De esta forma, al abrir esta página en Explorer y Firefox, podrás ver el menú correspondiente, como se muestra en la figura:
Es más problemático agregar usando Javascript (quizás la situación sea mucho mejor ahora). Utilizamos principalmente la función de extensión del navegador. Hay un parámetro window.external.AddSearchProvider en Explorer (documentación detallada). El método de llamada típico es el siguiente
window.external.AddSearchProvider('http://who.am.i/search.xml');
El enlace en el parámetro es el contenido del enlace anterior. Disponible en Firefox
ventana.sidebar.addSearchEngine(
"http://who.am.i/search.xml", /* URL del motor */
"favicon.ico", /* URL del icono */
"Nombre corto", /* nombre del motor */
"Descripción" ); /* nombre de categoría */
Los parámetros y ejemplos se describen en el código de muestra (documentación oficial). Vale la pena señalar que Firefox2 y versiones posteriores han sido "compatibles" con el método de llamada window.external.AddSearchProvider del Explorer (detalles). Luego, nuestro código Javascript correspondiente se puede escribir así (para que sea compatible con versiones anteriores a Firefox2, agregue otra opción si lo considera necesario, no puede agregarlo)
función agregarmotor(){
if (ventana.externa || ventana.externa.AddSearchProvider) {
window.external.AddSearchProvider('http://who.am.i/search.xml');
} más si (ventana.barra lateral && ventana.barra lateral.addSearchEngine) {
ventana.sidebar.addSearchEngine(
"http://who.am.i/search.xml",
"favicon.ico", /* URL del icono */
"Nombre corto", /* nombre del motor */
"Descripción" ); /* nombre de categoría */
}}
De esta manera, puede registrar esta función en el evento de clic de un enlace o botón y aparecerá un cuadro de confirmación, como se muestra en la figura, después de que el usuario haga clic en confirmar, se agregará al cuadro de búsqueda del navegador.