OpenSearch
Firefox 2 obsługuje format opisu wtyczek wyszukiwarek OpenSearch. Wtyczki korzystające ze składni OpenSearch są zgodne z IE 7 i Firefoksem. Z tego powodu są formatem zalecanym do stosowania na stronach WWW.
Firefox obsługuje także dodatkowe możliwości spoza specyfikacji OpenSearch, takie jak podpowiedzi wyszukiwania i element SearchForm
. Niniejszy artykuł skupia się na tworzeniu wtyczek zgodnych z OpenSearch, ale wykorzystujących także i te dodatkowe możliwości.
Dostępność plików opisu OpenSearch może być także ogłaszana w sposób opisany w podrozdziale Automatyczne wykrywanie wtyczek wyszukiwarek, mogą być także instalowane w sposób programowy, tak jak to opisano w artykule Dodawanie wyszukiwarek ze stron WWW.
Plik opisu OpenSearch
Plik XML opisujący wyszukiwarkę ma prostą budowę, taką, jak przedstawiona w poniższym szablonie. Pogrubione fragmenty muszą być dostosowane do wymogów konkretnej wyszukiwarki.
<OpenSearchDescription xmlns="https://a9.com/-/spec/opensearch/1.1/" xmlns:moz="https://www.mozilla.org/2006/browser/search/"> <ShortName>nazwaWyszukiwarki</ShortName> <Description>opisWyszukiwarki</Description> <InputEncoding>kodowanieWejściowe</InputEncoding> <Image width="16" height="16">data:image/x-icon;base64,daneObrazu</Image> <Url type="text/html" method="metoda" template="adresURLWyszukiwania"> <Param name="nazwaParam1" value="wartośćParam1"/> ... <Param name="nazwaParamN" value="wartośćParamN"/> </Url> <Url type="application/x-suggestions+json" template="adresURLPodpowiedzi"/> <moz:SearchForm>adresURLFormularza</moz:SearchForm> </OpenSearchDescription>
- ShortName
- Krótka nazwa wyszukiwarki.
- Description
- Zwięzły opis wyszukiwarki.
- InputEncoding
- Kodowanie znaków stosowane przy wprowadzaniu danych do wyszukiwarki.
- Image
- Zakodowana przy użyciu algorytmu Base-64 ikona o wymiarach 16x16 reprezentująca wyszukiwarkę. Narzędzie ułatwiające tworzenie danych do umieszczenia w tym elemencie (kodowania plików algorytmem Base64) można znaleźć na stronie: The data: URI kitchen.
- Url
-
Określa adres lub adresy URL wykorzystywane do wyszukiwania. Atrybut
method
decyduje, czy do wysłania zapytania ma być stosowana metoda GET
czy POST
. Atrybut określa podstawowy adres URL dla zapytania wyszukiwarki.
-
Uwaga: Internet Explorer 7 nie obsługuje żądań
POST
.
- Firefox obsługuje dwa typy elementów Url:
type="text/html"
– do określenia adresu URL samego zapytania wyszukiwarkitype="application/x-suggestions+json"
– do określenia adresu URL z podpowiedziami wyszukiwania.
-
W adresach obu typów tekst
{searchTerms}
zostanie zastąpiony przez wartości wprowadzone przez użytkownika do paska wyszukiwania. Inne obsługiwane parametry dynamiczne wyszukiwania można znaleźć w rozdziale OpenSearch 1.1 parameters specyfikacji OpenSearch.
-
Podczas przeglądania
oficjalnej specyfikacji OpenSearch
, a konkretnie elementu Url, można zauważyć, że Mozilla w pewnym stopniu nie przestrzega specyfikacji, używając atrybutu
method
i znacznikaParam
bez odpowiedniej przestrzeni nazw. Jeśli chcemy zachować zgodność zarówno ze specyfikacją, jak i z Mozillą, możemy bezpiecznie używać obu sposobów równolegle, tzn. używać atrybutumethod
i jego wersji z przestrzenią nazw obok siebie.
- Dla zapytań o podpowiedzi wyszukiwania, podany szablon adresu URL wykorzystywany jest do pobrania listy podpowiedzi w formacie JavaScript Object Notation (JSON). Szczegóły na temat implementacji podpowiedzi wyszukiwania po stronie serwera można znaleźć w artykule Wsparcie dla podpowiedzi wyszukiwania w wyszukiwarkach.
- Param
-
Parametry, które muszą zostać przekazane wraz z zapytaniem, w postaci par klucz/wartość. Przy określaniu tych wartości można użyć
{searchTerms}
, by wstawić w to miejsce wyszukiwane słowa wprowadzone przez użytkownika w pasku wyszukiwania. -
Uwaga: Internet Explorer 7 nie obsługuje tego elementu.
- SearchForm
- Adres URL strony z wyszukiwarką na danej witrynie. (Niejako adres strony, którą wtyczka wyszukiwarki zastępuje - przyp. tłum.). W ten sposób Firefox umożliwia użytkownikowi bezpośrednie otwarcie danej witryny.
moz:
", aby inne aplikacje, nie obsługujące tego elementu, mogły go zignorować.Automatyczne wykrywanie wtyczek wyszukiwarek
Witryna oferująca wtyczkę wyszukiwarki może ogłosić jej dostępność, umożliwiając użytkownikom Firefoksa na łatwą i szybką instalację wtyczki.
Aby skorzystać z tej funkcji, wystarczy po prostu w części <head>
strony internetowej dodać jedną linię:
<link rel="search" type="application/opensearchdescription+xml" title="tytułWyszukiwarki" href="adresURLWtyczki">
Pochylony tekst należy zastąpić, jak opisano poniżej:
- tytułWyszukiwarki
- Nazwa wyszukiwarki, np. "Yahoo! Search". Wartość ta powinna być zgodna z wartością ShortName w pliku wtyczki.
- adresURLWtyczki
- Adres URL do pliku XML wtyczki wyszukiwania, która ma zostać pobrana przez przeglądarkę.
Jeśli witryna oferuje szereg wtyczek wyszukiwania, można pozwolić na automatyczne wykrywanie ich wszystkich - przez umieszczenie tylu znaczników link
, ile wtyczek chcemy zaoferować, np.:
<link rel="search" type="application/opensearchdescription+xml" title="MySite: wg autora" href="https://www.mysite.com/mysiteauthor.xml"> <link rel="search" type="application/opensearchdescription+xml" title="MySite: wg tytułu" href="https://www.mysite.com/mysitetitle.xml">
W ten sposób witryna oferuje osobne wtyczki pozwalające na przeszukanie wg autorów i tytułów.
Rozwiązywanie problemów – wskazówki
Jeśli w pliku XML wtyczki jest błąd, mogą wystąpić problemy podczas instalacji wykrytej wtyczki w Firefoksie 2. Informacja o błędzie może nie być zbyt dokładna, dlatego poniżej podajemy kilka wskazówek, które powinny pomóc w takiej sytuacji.
- Wtyczka wyszukiwarki XML musi być prawidłowo uformowana. Sprawdzić to można np. otwierając plik wyszukiwarki bezpośrednio w Firefoksie. Ampersandy („&”) w szablonach adresów URL muszą występować w postaci encji
&
, a każdy znacznik musi być zamknięty, albo przez ukośnik na końcu, albo przez odpowiedni znacznik zamykający. - Atrybut
xmlns
jest ważny; w sytuacji jego braku można otrzymać komunikat o błędzie: "Firefox nie mógł pobrać wtyczki wyszukiwarki z: (adres URL)". - Konieczne jest dołączenie adresu URL typu
text/html
&ndashl wtyczki zawierające tylko adresy typu Atom lub RSS (poprawne, ale nie obsługiwane obecnie przez Firefoksa) również spowodują wyświetlenie powyższego komunikatu błędu. - Zdalne ikony witryn („favicons”) nie mogą być większe niż 10 KB (zob. błąd 361923).
Ponadto usługa wtyczek wyszukiwarek zapewnia dostęp do mechanizmu dziennika, który może być przydatny dla twórców wtyczek. Aby skorzystać z dziennika, należy na stronie
about:config
ustawić wartość opcji 'browser.search.log
' na true
. Informacje dziennika będą pojawiać się w Konsoli błędów Firefoksa (Narzędzia->Konsola błędów) przy dodawaniu wtyczek.
Literatura
- Dokumentacja OpenSearch, OpenSearch Documentation about the Url and Param element
- Technorati.com has a working osd.xml
- Więcej o problemach z automatycznym wykrywaniem - błąd 340208
- Adresy URI
data:
- searchplugins.net - tworzenie wtyczek OpenSearch dla Firefoksa 2 Lista wygenerowanych wtyczek
- Ready2Search - tworzenie wtyczek OpenSearch. Wyszukiwanie za pomocą Ready2Search
Interwiki link