--- title: Tworzenie wtyczek OpenSearch dla Firefoksa slug: Web/OpenSearch tags: - Dodatki - OpenSearch - Wszystkie_kategorie - Wtyczki_wyszukiwarek translation_of: Web/OpenSearch original_slug: Tworzenie_wtyczek_OpenSearch_dla_Firefoksa ---

 

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="http://a9.com/-/spec/opensearch/1.1/"
                       xmlns:moz="http://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:
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 znacznika Param 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ć atrybutu method 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.

Image:SearchSuggestionSample.jpg

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.
Uwaga: Ten element nie jest częścią specyfikacji OpenSearch, jest związany z konkretną funkcją Firefoksa. Z tej przyczyny poprzedzony został przedrostkiem przestrzeni nazw XML "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="http://www.mysite.com/mysiteauthor.xml">
<link rel="search" type="application/opensearchdescription+xml" title="MySite: wg tytułu" href="http://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.

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

Interwiki link