WebDeveloper:OpenSearch

Aus Imperia Support Wiki

OpenSearch ist eine standardisierte Schnittstelle für alle Arten von Suchmaschinen. Damit lassen sich sowohl Suchanfragen (via Description-Element) als auch Ergebnislisten (via Response-Element) so beschreiben, dass andere Applikationen mit beliebigen Suchmaschinen zusammenarbeiten können.

Als bestes Beispiel ist das Suchmaschinen-Feld im IE7 und FF2 zu erwähnen, das mittels einer kleinen OpenSearch-Beschreibungsdatei mit beliebigen Seiten als Suchmaschinen zusammenarbeiten kann. Und die Suchmaschine [A9] verwendet OpenSearch-Suchmaschinen mit.

Die technischen Details gibt es unter http://www.opensearch.org/

Beispiele für eine Integration sind u.a.

und in Zukunft auch der Stadtplan.

Wie wird's gemacht

Bei jeder Applikation, die Freitextsuchen erlaubt, kann man ohne großen Aufwand eine Integration für Firefox / IE7 bauen:

  1. OpenSearch-XML-Beschreibungsdatei im Applikationsordner anlegen
  2. Im <head> und ggf. <body> auf die Datei via rel="search" verlinken.

OpenSearch-XML-Beispiel

 <?xml version="1.0" encoding="utf-8"?>
 <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
   <ShortName>Berlin.de - Suche</ShortName>
   <Description></Description>
   <Url type="text/html" method="post" template="http://www.berlin.de/suche/index.php?q={searchTerms}"></Url>
   <OutputEncoding>utf-8</OutputEncoding>
   <InputEncoding>utf-8</InputEncoding>
   <Language>de</Language>
 </OpenSearchDescription>

HTML im <head>

 <link rel="search" type="application/opensearchdescription+xml" href="opensearch.xml" title="Suche - Berlin.de" />

HTML im <body>

 <script type="text/javascript">/*<![CDATA[*/
 if (typeof window.external.AddSearchProvider == "function" || navigator.userAgent.indexOf('MSIE 7') != -1) document.writeln('<a href="opensearch.xml" rel="search" type="application/opensearchdescription+xml" onclick="window.external.AddSearchProvider(this.href);return false;">Als Suche zu Ihrem Browser hinzufügen<'+'/a>');
 /*]]>*/</script>