Haciendo uso de cuadro multifunción de funciones [TAB] de Google Chrome para / en el sitio web personal?

StackOverflow https://stackoverflow.com/questions/1317051

Pregunta

Creo que el título lo explica todo, pero voy más profundo en mi pregunta de todos modos:

¿Cómo puedo utilizar la función del cuadro multifunción Chrome [TAB] para mi sitio web?

Como muchos usuarios me pidieron para implementar esta característica en el sitio, lo hice investigación sobre el OpenSearchDescription y tuvo mucho éxito en su aplicación con el Firefox e IE7 / IE8 Searchbar.

Sin embargo, la aplicación no funcionó bastante 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" />
¿Fue útil?

Solución 2

Cómo OSD (OpenSearchDescription) trabajar en Google Chrome o Internet Explorer 7 / IE8 no es tan difícil como se ha mencionado o que estos navegadores no soportan las peticiones POST.

Con un poco de pellizcar, he encontrado una solución a todo el problema.

Mi código inicial:

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

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

Esto funciona perfectamente en Firefox, pero no acaba de funcionar bien en IE7 / IE8 o Google Chrome (no he probado con Opera o Safari todavía ..).


La alteración del código para el siguiente fragmento:

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

solucionado el problema de la incompatibilidad con los navegadores.

Todas las llamadas se dirigen directamente a la página de consulta e incluso en un principio fue una solicitud POST, que ahora trabajan tanto en IE7 / IE8 y Google Chrome.

Gracias adrianbanks de nuevo por darme el archivo XML que condujo a la solución!

Otros consejos

He comparado lo que tiene en contra de la OpenSearchDescription en mi propio sitio y no puedo ver por qué la suya no está funcionando. La única diferencia real es que está utilizando POST a buscar mientras que yo estoy usando GET. De acuerdo con esta página , Internet Explorer 7 no admite solicitudes POST, por lo que es posible que otros navegadores también lo hacen no apoyar la POST.

El de mi sitio definitivamente funciona en IE8, Chrome 3.0 y 2.0 + FF. No dude en comparar por sí mismo y ver si puede detectar una diferencia: opensearch.XML

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top