Maison  >  Article  >  développement back-end  >  Introduction détaillée à l'application XML-OpenSearch

Introduction détaillée à l'application XML-OpenSearch

黄舟
黄舟original
2017-03-14 16:09:451851parcourir

De nombreux navigateurs modernes ont une zone Recherche sur le côté droit de la barre d'adresse, et l'installation par défaut a la recherche Google, etc. Comme indiqué ci-dessous : En fait, il s'agit d'une application d'OpenSearch. Tant que vous écrivez le fichier micro-format xml 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, une recherche typique
De nombreux navigateurs modernes ont 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 le montre la figure ci-dessous :
Introduction détaillée à l'application XML-OpenSearch
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, les autres définitions sont littéralement comprises : InputEncoding spécifie l'encodage de recherche, qui est déterminé en fonction de la situation réelle du site Web. ShortName Il s'agit du nom court de la recherche, par exemple "Recherche Google". Description Une description de ce champ de recherche, telle que "Recherche de shopping Taobao - seulement vous n'y pensez pas, mais vous ne pouvez pas le trouver" L'image est similaire au favicon d'une page Web, utilisée pour la recherche d'identification Url C'est le paramètre le plus important, spécifiant le lien de recherche. Il comporte de nombreux paramètres, utilisez généralement le paramètre {searchTerms} pour spécifier les termes de recherche. Le paramètre type="text/html" indique que la page renvoyée est (le navigateur accédera à cette page. Si elle est dans d'autres formats, elle sera ouverte à l'aide du programme par défaut correspondant (tel que type="application/rss xml" sera ouvert à l'aide d'un lecteur RSS). 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. Pour ajouter cette recherche à la page, il existe essentiellement deux manières. Il s'agit d'ajouter des balises de lien dans l'
tête de la page (similaire au RSS), et de les ajouter en utilisant Javascript (comme définir un bouton pour 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" />

Similaire au RSS, le rel et le type sont fixes, nous spécifiez principalement href (pour le chemin URL du XML ci-dessus, utilisez le chemin absolu pour être sûr, c'est-à-dire commencez par http://) et title (c'est-à-dire le titre court 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 l'image :

Introduction détaillée à l'application XML-OpenSearchIl est plus gênant d'ajouter en utilisant Javascript (peut-être que la situation sera c'est beaucoup mieux maintenant). Nous utilisons principalement des extensions de 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(&#39;http://who.am.i/search.xml&#39;);
Le lien dans le paramètre est le contenu du lien ci-dessus. Sous Firefox, vous pouvez utiliser les paramètres et exemples


window.sidebar.addSearchEngine(
 "http://who.am.i/search.xml", /* engine URL */
 "favicon.ico", /* icon URL */
 "ShortName", /* engine name */
 "Description" ); /* category name */

comme décrit 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 s'écrire ainsi (afin d'être compatible avec les versions antérieures à Firefox2, ajoutez
else if pour juger, si vous estimez que ce n'est pas nécessaire, vous ne pouvez pas ajoutez-le)

function addEngine(){
 if (window.external || window.external.AddSearchProvider) {
 window.external.AddSearchProvider(&#39;http://who.am.i/search.xml&#39;);
 } else if (window.sidebar && window.sidebar.addSearchEngine) {
 window.sidebar.addSearchEngine(
 "http://who.am.i/search.xml",
 "favicon.ico", /* icon URL */
 "ShortName", /* engine name */
 "Description" ); /* category name */
 }}

De cette façon, vous pouvez enregistrer cette
fonction au clic en cas de lien ou de bouton , une boîte de confirmation apparaîtra, comme le montre la figure. Après que l'utilisateur ait cliqué sur Confirmer, elle sera ajoutée à la zone de recherche du navigateur.                                                                                                                                                   

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn