OpenSearch, egyéni keresőnk és a Firefox

A Firefox böngésző egyre növekvő népszerűsége miatt ajánlott annak lehetőségeit figyelni, kihasználni.
Az egyik ilyen lehetőség, hogy egyéni keresőket is felvihetünk a böngészőbe. Ennek megoldásában próbál segíteni ez a kis leírás.

A Firefox 1-ben a keresőválasztónál megjelenik egy „Add engines” opció, ami egy a Mozilla add-onok közé küldi a látogatót.

A Firefox 2 azonban ezen a téren is újított: az oldalak készítői az oldalukhoz tartozó keresőről információkat tehetnek közzé, amelyeket a Firefox képes értelmezni, és a keresőt használni.

Jó példa erre a működésre a Wikipedia. Ha a FF 2-es verzióját használjuk egy új opció válik elérhetővé a kereső-választáskor:

„Add http://en.wikipedia.org/w/opensearch_desc.php”. És ami az egészben a legjobb: egy ilyet nem is nehéz megvalósítani.

A keresőről az információt XML fileban, az ún. OpenSearch formátumban tudjuk a böngészőnek biztosítani. A teljes specifikációt megtalálhatjuk a http://a9.com/-/spec/opensearch/1.1/ címen, a példánkban igyekszünk a lehető legegyszerűbb fájl létrehozni.

Előljáróban annyit, hogy a fájl MIME típusa application/opensearchdescription+xml, de ez még nincs regisztrálva, és – a Wikipedia példája alapján – a FF nem követeli meg ezt – ajánlott azonban a megfelelő fejléccel kiküldeni.

<?php
header('Content-type: application/opensearchdescription+xml');

A Wikipedia OpenSearch leírófájlját használhatjuk kiindulási pontnak, ajánlott azonban átolvasni a fentebb írt specifikációt, mivel így pontosítani tudjuk keresőnk leírását.

<?xml version="1.0"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
	<ShortName>Wikipedia</ShortName>
	<Description>Wikipedia</Description>
	<Image height="16" width="16" type="image/x-icon">http://en.wikipedia.org/favicon.ico</Image>
	<Url type="text/html" method="get" template="http://en.wikipedia.org/w/index.php?title=Special:Search&amp;search={searchTerms}"/>
</OpenSearchDescription>

Az első sor egyértelmű, a szokásos XML kezdőtag. Az OpenSearchDescription tartalmazza majd a keresőnk leírását.

A ShortName és Description egyértelmű, keresőnk rövid nevét és esetleges leírását írhatjuk ide. Az image-ben megadott kép fog megjelenni a keresőnk ikonjaként a böngészőben.

A specifikáció ugyan nem teszi kötelezővé, de ajánlja a 16*16-os ico fájlok, vagy a 64*64 jpeg fájlok használatát.

És ezzel el is értünk a lényegi részhez. Az Url, és az abban található további tagok írják le a keresőnk viselkedését. Fontos megjegyezni, hogy ezek mindig teljes elérési utat kell, hogy adjanak, és nem relatívat!

Mint látjuk a Wikipedia GET metódust használ a keresendő kifejezés átvitelére, azonban van lehetőség POST használatára is:

<?xml version="1.0"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
	<ShortName>BlackY</ShortName>
	<Description>BlackY</Description>
	<Image height="16" width="16" type="image/x-icon">http://en.wikipedia.org/favicon.ico</Image>
	<Url type="text/html" method="post" template="http://en.wikipedia.org/w/index.php?title=Special:Search&amp;search={searchTerms}">
		<Param name="searchString" value="{searchTerms}" />
	</Url>
</OpenSearchDescription>

Ez már POST-al küldené el az adatokat, ahol a searchString tartalmazná a kereső-kifejezéseket. A {searchTerms}-en kívűl használható még rengeteg egyéb paraméter, újakat is generálhatunk, stb.

Mostanra egyelőre legyen elég annyi, hogy a {paraméter} formában megadott paraméterek kötelezőek – és ha nincs megadva, és nincs alap értékük a keresés nem hajtódik végre -, míg a {paraméter?} forma szerint elhagyhatók.

Ha a példák és/vagy a dokumentáció alapján összeállítottuk a kereső-leírónkat nincs más dolgunk, mint hogy figyelmeztessük az FF-et, hogy van az oldalon kereső is:

<link rel="search" type="application/opensearchdescription+xml" href="opensearch.xml" />

Az opensearch.xml helyére természetesen az előzőkben összeállított XML fájlunk elérési útját írjuk! Ezután a FireFox 2-t betöltve már felvihetjük a keresőnket, és kerestethetünk vele…

A tutorial.hu oldal esetében az kereső-leíró fájl így néz ki:

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
 <ShortName>tutorial.hu</ShortName>
 <Description>photoshop tutorial leírások</Description>
 <Url type="text/html" method="get" template="http://www.tutorial.hu/search/node/{searchTerms}"/>
 <InputEncoding>ISO-8859-2</InputEncoding>
 <Image width="16" height="16">http://www.tutorial.hu/misc/favicon.ico</Image>
 <SearchForm>http://www.tutorial.hu/kereses</SearchForm>
 <UpdateUrl>http://www.tutorial.hu/opensearch.xml</UpdateUrl>
 <IconUpdateUrl>http://www.tutorial.hu/misc/favicon.ico</IconUpdateUrl>
 <UpdateInterval>3</UpdateInterval>
</OpenSearchDescription>

A lapban pedig így hivatkozunk rá:


1 hozzászólás

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét