Haciendo uso de cuadro multifunción de funciones [TAB] de Google Chrome para / en el sitio web personal?
-
19-09-2019 - |
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&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" />
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