Faire usage de la fonctionnalité OmniBox [TAB] de Google Chrome pour / sur un site web personnel?

je pense que le titre explique tout mais je vais de toute façon plus en profondeur dans ma question:

Comment puis-je utiliser la fonction Omnibox [TAB] de Chrome pour mon site web?

comme de nombreux utilisateurs m'ont demandé de mettre en œuvre cette fonctionnalité sur le site, j'ai fait des recherches sur la description OpenSearch et a été très réussie dans la mise en œuvre avec le FireFox et IE7/IE8 Searchbar.

pourtant la mise en œuvre N'a pas tout à fait fonctionné pour le Chrome Fonction Omnibox [TAB]..

Pouvez-vous m'aider?

mon OSD.code 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>

et ceci est le lien vers le fichier osd sur ma page:

<link rel="search" type="application/opensearchdescription+xml" title="MySite" href="/opensearch.xml" />
13
demandé sur John Carter 2009-08-23 01:07:09

2 réponses

j'ai comparé ce que vous avez à la description D'OpenSearch sur mon propre site et je ne vois pas pourquoi le vôtre ne fonctionne pas. La seule vraie différence est que vous utilisez POST pour rechercher alors que j'utilise GET. Selon cette" page 151920920", IE7 ne supporte pas les requêtes POST, il se peut donc que d'autres navigateurs ne supportent pas non plus POST.

celui sur mon site fonctionne certainement en IE8, Chrome 3.0 et FF 2.0+. N'hésitez pas à comparer vous-même et voir si vous pouvez repérer une différence: opensearch.XML

8
répondu adrianbanks 2009-08-22 23:17:10

obtenir OSD (OpenSearchDescription) travailler sous Google Chrome ou IE7 / IE8 n'est pas aussi difficile que mentionné ou que ces navigateurs ne prennent pas en charge les requêtes POST.

avec un peu de retouche, j'ai trouvé une solution pour contourner tout le problème.

mon code initial:

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

ce code pointe directement vers la page de requête et passe la valeur de l'attribut sString sur ma demande de poste.

Cela fonctionne parfaitement sur FireFox mais ne fonctionne pas tout à fait bien sur IE7/IE8 ou Google Chrome (Je n'ai pas encore testé avec Opera ou Safari..).


modifier le code à la pièce suivante:

<Url type="text/html" template="http://MySite.com/query.php?sString={searchTerms}"></Url>
  • Retrait method="POST" de l'élément
  • remplace /query.php avec l'appel de page réel: /requête.le php?sString={searchTerms}
  • supprimer le maintenant inutile " <Param name="sString" value="{searchTerms}"/>

a résolu mon problème d'incompatibilité avec ces navigateurs.

tous les appels sont dirigés directement à la page de requête et même il était initialement une demande de poste, il fonctionne maintenant à la fois sur IE7/IE8 et Google Chrome.

merci encore adrianbanks de m'avoir fourni avec votre fichier xml qui a conduit à la solution!

4
répondu Faizan S. 2009-08-23 01:26:20