Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

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="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 wyszukiwarki
  • type="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 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="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 &amp;, 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

Interwiki link

 

Autorzy i etykiety dokumentu

 Ostatnia aktualizacja: tregagnon,