2009-08-22 25 views
12

Creo que el título lo explica todo pero de todos modos voy a profundizar en mi pregunta:Haciendo uso de la característica OmniBox [TAB] de Google Chrome para/en el sitio web personal?

¿Cómo puedo utilizar la función Omnibox [TAB] de Chrome para mi sitio web?

Como muchos usuarios me pidieron que implementara esa característica en el sitio, investigué sobre OpenSearchDescription y tuve mucho éxito en la implementación con Firefox e IE7/IE8 Searchbar.

Sin embargo, la aplicación no funcionaba bien para la función Chrome cuadro multifunción [TAB] ..

¿Me puede ayudar con eso?

Mi código OSD.xml:

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" 
         xmlns:moz="http://www.mozilla.org/2006/browser/search/"> 
<ShortName>MySite</ShortName> 
<Description>My Site</Description> 
<InputEncoding>UTF-8</InputEncoding> 
<Image width="16" height="16" type="image/x-icon">http://MySite.com/favicon.ico</Image> 
<Url type="application/x-suggestions+json" method="GET" 
    template="http://ff.search.yahoo.com/gossip?output=fxjson&amp;command={searchTerms}" /> 
<Url type="text/html" method="POST" template="http://MySite.com/query.php"> 
    <Param name="sString" value="{searchTerms}"/> 
</Url> 
<Url type="application/x-suggestions+json" template="suggestionURL"/> 
<moz:SearchForm>http://www.MySite.com</moz:SearchForm> 
</OpenSearchDescription> 

Y este es el enlace al archivo OSD en mi página:

<link rel="search" type="application/opensearchdescription+xml" title="MySite" href="/opensearch.xml" /> 
+0

Nunca supe que podríamos hacer esto, gracias por dejarme saber accidentalmente. – HyderA

+0

posible duplicado de [¿Cómo agregar el soporte de google crome omnibox-search para su sitio?] (Http://stackoverflow.com/questions/7630144/how-to-add-google-chrome-omnibox-search-support-for- su-sitio) –

Respuesta

4

Obtención de OSD (OpenSearchDescription) trabajar bajo Google Chrome o IE7/IE8 no es tan difícil como se menciona o que estos navegadores no son compatibles con las solicitudes POST .

Con un poco de ajuste, encontré una solución al problema completo.

Mi código inicial:

<Url type="text/html" method="POST" template="http://MySite.com/query.php"> 
    <Param name="sString" value="{searchTerms}"/> 
</Url> 

puntos este código directamente a la página de consulta y pasa el valor para el atributo sString en mi solicitud POST.

Eso funciona perfectamente en Firefox pero no funciona bien en IE7/IE8 o Google Chrome (aún no lo he probado con Opera o Safari ...).


Alterar el código para la siguiente pieza:

<Url type="text/html" template="http://MySite.com/query.php?sString={searchTerms}"></Url> 
  • Extracción method = "POST" desde el elemento
  • Sustitución /query.php con el actual Llamada a la página: /query.php?sString={searchTerms}
  • Extracción de la ahora innecesaria "<Param name="sString" value="{searchTerms}"/>"

solucionado el problema de la incompatibilidad con los navegadores.

Todas las llamadas se dirigen directamente a la página de consulta e, incluso, inicialmente era una solicitud POST, ahora funciona en IE7/IE8 y Google Chrome.

Gracias de nuevo adrianbanks por proporcionarme su archivo xml que condujo a la solución!

+0

-1 Usted comienza su respuesta con "Obtención de trabajo bajo OpenSearchDescription Google Chrome o Internet Explorer 7/IE8 no es tan difícil como se ha mencionado o que estos navegadores no son compatibles con las peticiones POST" y luego se procede a describir de manera muy detallado que los los navegadores de hecho no admiten la búsqueda por solicitud POST ". – AndreKR

8

He comparado lo que tiene en contra de la OpenSearchDescription por mi cuenta sitio y no puedo ver por qué el suyo no está funcionando. La única diferencia real es que estás usando POST para buscar mientras estoy usando GET. De acuerdo con la página this, IE7 no admite solicitudes POST, por lo que es posible que otros navegadores tampoco admitan POST.

El que está en mi sitio definitivamente funciona en IE8, Chrome 3.0 y FF 2.0+. No dude en compararlos usted mismo y ver si puede detectar una diferencia: opensearch.XML

+0

¡Muchas gracias por su gran ayuda y por proporcionar su propio archivo osd! Condujo a la solución. Estaré escribiendo una respuesta que resuelve el problema, también permite el uso de POST en IE y Chrome :-)! –

Cuestiones relacionadas