Comment créer une fonctionnalité de recherche de site dans la barre d'adresse de Chrome?

11

Lorsque vous accédez à stackoverflow.com dans Google Chrome et si vous placez un espace devant le dernier caractère, la barre d'adresse se transforme en celle de ma capture d'écran ci-dessous.

Ensuite , vous pouvez appuyer sur Tab et vous pouvez taper quoi que ce soit, et en appuyant sur Entrée vous amène à la page de recherche avec votre terme de recherche: https://stackoverflow.com/search?q=anything.

Comment puis-je faire la même chose pour mon site?

Je suis la personne la plus stupide
la source
Je suppose qu'ils ont déjà configuré la recherche sur site et qu'ils veulent simplement configurer Chrome comme StackOverflow le fait. Si tel est le cas, c'est une question très répondable, pas trop large du tout.
Stephen Ostermiller
3
Il semble que quelqu'un sur les forums de produits Google ait compris cela: productforums.google.com/forum/#!msg/chrome/8EFOmC6pNLs/…
Stephen Ostermiller
Damith, souhaitez-vous ajouter une recherche de site à partir de la barre d'adresse , ou simplement une recherche de site avec saisie semi-automatique?
Scott C Wilson
1
Je suis trop paresseux pour le moment pour écrire une bonne réponse, voici donc deux liens: opensearch.org/Documentation/Frequently_asked_questions et pour la mise en œuvre, voir: opensearch.org/Specifications/OpenSearch/…
Oskar Skog
@StephenOstermiller J'ai relu la question. Ma faute! J'avais en tête d'implémenter une recherche de site et j'ai en quelque sorte manqué la vraie nature de la question. C'est une bonne question. À votre santé!!
closetnoc

Réponses:

6

En supposant que vous disposez d'une fonction de recherche sur votre site, vous pouvez profiter de la fonctionnalité OpenSearch dans Chrome.

Tiré de la documentation de Chromium :

Pour l'activer pour tous les utilisateurs (même ceux qui n'ont pas utilisé votre formulaire de recherche):

Sur la page d'accueil de votre site, fournissez un lien vers un document de description d'OpenSearch. Le lien vers l'OSDD est placé en tête du fichier html. Par exemple:

<head>
  <link type="application/opensearchdescription+xml"
        rel="search"
        href="url_of_osdd_file"/>
</head>

La partie importante de ce document est l'URL utilisée pour rechercher votre site.

Voici un exemple qui contient le strict minimum nécessaire, voir la spécification du document de description OpenSearch pour la liste des valeurs que vous pouvez spécifier.

<?xml version="1.0"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  <ShortName>Search My Site</ShortName>
  <Description>Search My Site</Description>
  <Url type="text/html" method="get"
       template="http://my_site/{searchTerms}"/>
</OpenSearchDescription>

Lorsque l'utilisateur appuie sur Entrée dans l'Omnibox, la chaîne {searchTerms} dans l'url est remplacée par la chaîne saisie par l'utilisateur.

Vous pouvez également inclure un service de suggestion en ajoutant un autre élément URL avec rel="suggestions"par exemple:

<Url type="application/json"
     rel="suggestions"
     template="http://my_site/suggest?q={searchTerms}"
     />

Si vous l'incluez, l'omnibox utilisera votre service de suggestion pour fournir des suggestions de requête basées sur la requête partielle de l'utilisateur.

Si votre champ de recherche utilise une demande GET, Chrome activera cette fonctionnalité pour les utilisateurs qui l'utilisent.

Si vous n'avez pas de page de recherche sur votre site, cela ne fonctionnera pas.

Props à Stephen pour le lien initial.

Zhaph - Ben Duguid
la source