De nombreux navigateurs modernes disposent d'un champ de recherche sur le côté droit de la barre d'adresse et la recherche Google est installée par défaut. Comme indiqué ci-dessous :
En fait, il s'agit d'une application d'OpenSearch. Tant que vous écrivez le fichier XML micro-format correspondant, vous pouvez formuler le champ de recherche correspondant. En vous référant au document de définition d’OpenSearch, vous pouvez essentiellement obtenir le format XML de base. Par exemple, un fichier XML de recherche typique peut être spécifié comme ceci.
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<InputEncoding>utf-8</InputEncoding>
<ShortName>ShortName</ShortName>
<Description>Description</Description>
<Image type="image/vnd.microsoft.icon">favicon</Image>
<Url type="text/html" template="http://who.am.i/search?word={searchTerms}"/>
</OpenSearchDescription>
Le fichier XML ci-dessus est facile à comprendre, à l'exception de la racine XML fixe, d'autres définitions peuvent être comprises littéralement :
L'écriture du format XML d'OpenSearch est terminée. Pour des informations détaillées, veuillez vous référer à son document de définition OpenSearch. Ensuite, nous devons ajouter cette recherche à la page. Il existe essentiellement deux manières. Il s'agit d'ajouter des balises de lien dans l'en-tête de la page (similaire au RSS), et de les ajouter en utilisant Javascript (comme définir un bouton à déclencher). L'ajout de balises de lien est très simple, le format est le suivant
<link rel="search" type="application/opensearchdescription+xml"
href="http://who.am.i/search.xml" title="ShortName" />
Semblable à RSS, rel et type sont fixes. Nous spécifions principalement href (le chemin de l'url du fichier XML ci-dessus, pour être sûr, utilisez le chemin absolu, c'est-à-dire commençant par http://) et le titre (c'est-à-dire le chemin court). titre de la recherche). De cette façon, lorsque vous ouvrez cette page dans Explorer et Firefox, vous pouvez voir le menu correspondant, comme le montre la figure :
Il est plus difficile d'ajouter en utilisant Javascript (peut-être que la situation sera bien meilleure maintenant). Nous utilisons principalement la fonction d'extension du navigateur. Il existe un paramètre window.external.AddSearchProvider dans l'Explorateur (documentation détaillée). La méthode d'appel typique est la suivante
window.external.AddSearchProvider('http://who.am.i/search.xml');
Le lien dans le paramètre est le contenu du lien ci-dessus. Disponible sous Firefox
window.sidebar.addSearchEngine(
"http://who.am.i/search.xml", /* URL du moteur */
"favicon.ico", /* URL de l'icône */
"ShortName", /* nom du moteur */
"Description" ); /* nom de la catégorie */
Les paramètres et les exemples sont tels que décrits dans l'exemple de code (documentation officielle). Il convient de noter que Firefox2 et les versions ultérieures sont "compatibles" avec la méthode d'appel window.external.AddSearchProvider de l'Explorateur (détails). Ensuite notre code Javascript correspondant peut être écrit ainsi (afin d'être compatible avec les versions antérieures à Firefox2, ajoutez else si jugement, si vous estimez que ce n'est pas nécessaire, vous ne pouvez pas l'ajouter)
fonction addEngine(){
if (window.external || window.external.AddSearchProvider) {
window.external.AddSearchProvider('http://who.am.i/search.xml');
} sinon si (window.sidebar && window.sidebar.addSearchEngine) {
window.sidebar.addSearchEngine(
"http://who.am.i/search.xml",
"favicon.ico", /* URL de l'icône */
"ShortName", /* nom du moteur */
"Description" ); /* nom de la catégorie */
}}
De cette façon, vous pouvez enregistrer cette fonction à l'événement de clic d'un lien ou d'un bouton, et une boîte de confirmation apparaîtra comme le montre la figure, après que l'utilisateur ait cliqué sur confirmation, elle sera ajoutée à la zone de recherche du navigateur.