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&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&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á:
<link href="http://www.tutorial.hu/opensearch.xml" rel="search" title="tutorial.hu keresés" type="application/opensearchdescription+xml"></link>
Harder
Profil