Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die XML-OpenSearch-Anwendung

Detaillierte Einführung in die XML-OpenSearch-Anwendung

黄舟
黄舟Original
2017-03-14 16:09:451837Durchsuche

Viele moderne Browser verfügen über ein Suchfeld auf der rechten Seite der Adressleiste, und die Standard-Installation verfügt über eine Google-Suche usw. Wie unten gezeigt: Tatsächlich handelt es sich hierbei um eine Anwendung von OpenSearch. Solange Sie die entsprechende Datei im Mikroformat xml schreiben, können Sie das entsprechende Suchfeld formulieren. Unter Bezugnahme auf das OpenSearch-Definitionsdokument können Sie grundsätzlich das grundlegende XML-Format erhalten. Beispielsweise eine typische Suche
Viele moderne Browser verfügen über ein Suchfeld auf der rechten Seite der Adressleiste und die Google-Suche ist standardmäßig installiert. Wie in der folgenden Abbildung gezeigt:
Detaillierte Einführung in die XML-OpenSearch-Anwendung
Tatsächlich handelt es sich um eine Anwendung von OpenSearch. Solange Sie die entsprechende XML-Datei im Mikroformat schreiben, können Sie das entsprechende Suchfeld formulieren. Unter Bezugnahme auf das OpenSearch-Definitionsdokument können Sie grundsätzlich das grundlegende XML-Format erhalten. So kann beispielsweise eine typische Such-XML-Datei angegeben werden.

<?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>


Die obige XML-Datei ist leicht zu verstehen, mit Ausnahme des festen XML-Stamms sind die anderen Definitionen wörtlich zu verstehen: InputEncoding gibt die Suchkodierung an, die entsprechend der tatsächlichen Situation der Website bestimmt wird ShortName Dies ist der Kurzname der Suche, z. B. „Google-Suche“ Beschreibung Eine Beschreibung dieses Suchfelds, z. B. „Taobao-Einkaufssuche – Sie können es nur nicht finden, aber Sie können es nicht finden“ Das Bild ähnelt dem Favicon einer Webseite und wird für die Identifizierungssuche verwendet URL Dies ist der wichtigste Parameter, der den Suchlink angibt. Es verfügt über viele Parameter. Verwenden Sie im Allgemeinen den Parameter {searchTerms}, um die Suchbegriffe anzugeben. Der Parameter type="text/html" gibt an, dass die zurückgegebene Seite ist (der Browser springt zu dieser Seite, wenn sie in anderen Formaten vorliegt, wird sie mit dem entsprechenden Standardprogramm geöffnet (z. B. type="application/rss xml“ wird mit einem RSS-Reader geöffnet). Das Schreiben des XML-Formats von OpenSearch ist abgeschlossen. Ausführliche Informationen finden Sie im OpenSearch-Definitionsdokument. Um diese Suche auf der Seite hinzuzufügen, gibt es grundsätzlich zwei Möglichkeiten. Sie müssen Link-Tags im
Kopf der Seite hinzufügen (ähnlich wie bei RSS) und sie mithilfe von Javascript hinzufügen (z. B. durch Definieren einer -Schaltfläche zum Auslösen). . Das Hinzufügen von Link-Tags ist sehr einfach, das Format ist wie folgt

<link rel="search" type="application/opensearchdescription xml"
 href="http://who.am.i/search.xml" title="ShortName" />

Ähnlich wie bei RSS sind Relation und Typ festgelegt, wir Geben Sie hauptsächlich href (für den URL-Pfad der obigen XML-Datei verwenden Sie sicherheitshalber den absoluten Pfad an, dh beginnen Sie mit http://) und den Titel (dh den Kurztitel der Suche). Auf diese Weise können Sie beim Öffnen dieser Seite im Explorer und Firefox das entsprechende Menü sehen, wie im Bild gezeigt:

Detaillierte Einführung in die XML-OpenSearch-AnwendungDas Hinzufügen mit Javascript ist schwieriger (möglicherweise ist die Situation so). jetzt viel besser). Wir verwenden hauptsächlich Browser-Erweiterungen. Im Explorer gibt es einen window.external.AddSearchProvider-Parameter (ausführliche Dokumentation). Die typische Aufrufmethode lautet wie folgt:

window.external.AddSearchProvider(&#39;http://who.am.i/search.xml&#39;);
Der Link im Parameter ist der Inhalt im obigen Link. Unter Firefox können Sie die Parameter und Beispiele


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

wie im Beispielcode (offizielle Dokumentation) beschrieben verwenden. Es ist erwähnenswert, dass Firefox2 und spätere Versionen mit der Aufrufmethode window.external.AddSearchProvider des Explorers „kompatibel“ waren (Details). Dann kann unser entsprechender Javascript-Code so geschrieben werden (um mit Versionen vor Firefox2 kompatibel zu sein, fügen Sie
else if hinzu, um zu beurteilen, ob Sie der Meinung sind, dass dies nicht erforderlich ist, können Sie nicht hinzufügen)

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 */
 }}

Auf diese Weise können Sie diese
Funktion für den Klick Bei einem Link oder einer Schaltfläche wird ein Bestätigungsfeld angezeigt, wie in der Abbildung gezeigt. Nachdem der Benutzer auf „Bestätigen“ geklickt hat, wird es dem Suchfeld des Browsers hinzugefügt.                                                                                                                                                

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die XML-OpenSearch-Anwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn