1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
---
title: Tworzenie wtyczek OpenSearch dla Firefoksa
slug: Tworzenie_wtyczek_OpenSearch_dla_Firefoksa
tags:
- Dodatki
- OpenSearch
- Wszystkie_kategorie
- Wtyczki_wyszukiwarek
translation_of: Web/OpenSearch
---
<p> </p>
<h2 id="OpenSearch" name="OpenSearch">OpenSearch</h2>
<p><a href="pl/Firefox_2">Firefox 2</a> obsługuje format opisu wtyczek wyszukiwarek <a class="external" href="http://opensearch.org/">OpenSearch</a>. Wtyczki korzystające ze <a class="external" href="http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_description_document">składni OpenSearch</a> są zgodne z IE 7 i Firefoksem. Z tego powodu są formatem zalecanym do stosowania na stronach WWW.</p>
<p>Firefox obsługuje także dodatkowe możliwości spoza <a class="external" href="http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_description_document">specyfikacji OpenSearch</a>, takie jak podpowiedzi wyszukiwania i element <code>SearchForm</code>. Niniejszy artykuł skupia się na tworzeniu wtyczek zgodnych z OpenSearch, ale wykorzystujących także i te dodatkowe możliwości.</p>
<p>Dostępność plików opisu OpenSearch może być także ogłaszana w sposób opisany w podrozdziale <a href="#Automatyczne_wykrywanie_wtyczek_wyszukiwarek">Automatyczne wykrywanie wtyczek wyszukiwarek</a>, mogą być także instalowane w sposób programowy, tak jak to opisano w artykule <a href="pl/Dodawanie_wyszukiwarek_ze_stron_WWW">Dodawanie wyszukiwarek ze stron WWW</a>.</p>
<h2 id="Plik_opisu_OpenSearch" name="Plik_opisu_OpenSearch">Plik opisu OpenSearch</h2>
<p>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.</p>
<pre class="eval"><OpenSearchDescription xmlns="<span class="nowiki">http://a9.com/-/spec/opensearch/1.1/</span>"
xmlns:moz="<span class="nowiki">http://www.mozilla.org/2006/browser/search/</span>">
<ShortName><b>nazwaWyszukiwarki</b></ShortName>
<Description><b>opisWyszukiwarki</b></Description>
<InputEncoding><b>kodowanieWejściowe</b></InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,<b>daneObrazu</b></Image>
<Url type="text/html" method="<b>metoda</b>" template="<b>adresURLWyszukiwania</b>">
<Param name="<b>nazwaParam1</b>" value="<b>wartośćParam1</b>"/>
...
<Param name="<b>nazwaParamN</b>" value="<b>wartośćParamN</b>"/>
</Url>
<Url type="application/x-suggestions+json" template="<b>adresURLPodpowiedzi</b>"/>
<moz:SearchForm><b>adresURLFormularza</b></moz:SearchForm>
</OpenSearchDescription>
</pre>
<dl>
<dt>
<b>ShortName</b></dt>
<dd>
Krótka nazwa wyszukiwarki.</dd>
</dl>
<dl>
<dt>
<b>Description</b></dt>
<dd>
Zwięzły opis wyszukiwarki.</dd>
</dl>
<dl>
<dt>
<b>InputEncoding</b></dt>
<dd>
Kodowanie znaków stosowane przy wprowadzaniu danych do wyszukiwarki.</dd>
</dl>
<dl>
<dt>
<b>Image</b></dt>
<dd>
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: <a class="external" href="http://software.hixie.ch/utilities/cgi/data/data">The data: URI kitchen</a>.</dd>
</dl>
<dl>
<dt>
<b>Url</b></dt>
<dd>
Określa adres lub adresy URL wykorzystywane do wyszukiwania. Atrybut <code>method</code></dd>
</dl>
<p>decyduje, czy do wysłania zapytania ma być stosowana metoda <code>GET</code> czy <code>POST</code>. Atrybut określa podstawowy adres URL dla zapytania wyszukiwarki.</p>
<dl>
<dd>
<div class="note">
<b>Uwaga:</b> Internet Explorer 7 nie obsługuje żądań <code>POST</code>.</div>
</dd>
</dl>
<dl>
<dd>
Firefox obsługuje dwa typy elementów Url:</dd>
</dl>
<ul>
<li><code>type="text/html"</code> – do określenia adresu URL samego zapytania wyszukiwarki</li>
<li><code>type="application/x-suggestions+json"</code> – do określenia adresu URL z podpowiedziami wyszukiwania.</li>
</ul>
<dl>
<dd>
W adresach obu typów tekst <code>{searchTerms}</code> zostanie zastąpiony przez wartości wprowadzone przez użytkownika do paska wyszukiwania. Inne obsługiwane parametry dynamiczne wyszukiwania można znaleźć w rozdziale <a class="external" href="http://www.opensearch.org/Specifications/OpenSearch/1.1/Draft_3#OpenSearch_1.1_parameters">OpenSearch 1.1 parameters</a> specyfikacji OpenSearch.</dd>
</dl>
<dl>
<dd>
Podczas przeglądania
<i>
oficjalnej specyfikacji OpenSearch</i>
, a konkretnie elementu Url, można zauważyć, że Mozilla w pewnym stopniu nie przestrzega specyfikacji, używając atrybutu <code>method</code> i znacznika <code>Param</code> 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 <code>method</code> i jego wersji z przestrzenią nazw obok siebie.</dd>
</dl>
<dl>
<dd>
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 <a href="pl/Wsparcie_dla_podpowiedzi_wyszukiwania_w_wyszukiwarkach">Wsparcie dla podpowiedzi wyszukiwania w wyszukiwarkach</a>.</dd>
</dl>
<p><img alt="Image:SearchSuggestionSample.jpg"></p>
<dl>
<dt>
<b>Param</b></dt>
<dd>
Parametry, które muszą zostać przekazane wraz z zapytaniem, w postaci par klucz/wartość. Przy określaniu tych wartości można użyć <code>{searchTerms}</code>, by wstawić w to miejsce wyszukiwane słowa wprowadzone przez użytkownika w pasku wyszukiwania.</dd>
<dd>
<div class="note">
<b>Uwaga:</b> Internet Explorer 7 nie obsługuje tego elementu.</div>
</dd>
</dl>
<dl>
<dt>
<b>SearchForm</b></dt>
<dd>
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.</dd>
</dl>
<div class="note">
<b>Uwaga:</b> Ten element nie jest częścią specyfikacji OpenSearch, jest związany z konkretną funkcją Firefoksa. Z tej przyczyny poprzedzony został przedrostkiem przestrzeni nazw XML "<code>moz:</code>", aby inne aplikacje, nie obsługujące tego elementu, mogły go zignorować.</div>
<h2 id="Automatyczne_wykrywanie_wtyczek_wyszukiwarek" name="Automatyczne_wykrywanie_wtyczek_wyszukiwarek">Automatyczne wykrywanie wtyczek wyszukiwarek</h2>
<p>Witryna oferująca wtyczkę wyszukiwarki może ogłosić jej dostępność, umożliwiając użytkownikom Firefoksa na łatwą i szybką instalację wtyczki.</p>
<p>Aby skorzystać z tej funkcji, wystarczy po prostu w części <code><head></code> strony internetowej dodać jedną linię:</p>
<pre class="eval"><link rel="search" type="application/opensearchdescription+xml" title="<i>tytułWyszukiwarki</i>" href="<i>adresURLWtyczki</i>">
</pre>
<p>Pochylony tekst należy zastąpić, jak opisano poniżej:</p>
<dl>
<dt>
<b>tytułWyszukiwarki</b></dt>
<dd>
Nazwa wyszukiwarki, np. "Yahoo! Search". Wartość ta powinna być zgodna z wartością ShortName w pliku wtyczki.</dd>
</dl>
<dl>
<dt>
<b>adresURLWtyczki</b></dt>
<dd>
Adres URL do pliku XML wtyczki wyszukiwania, która ma zostać pobrana przez przeglądarkę.</dd>
</dl>
<p>Jeśli witryna oferuje szereg wtyczek wyszukiwania, można pozwolić na automatyczne wykrywanie ich wszystkich - przez umieszczenie tylu znaczników <code>link</code>, ile wtyczek chcemy zaoferować, np.:</p>
<pre class="eval"><link rel="search" type="application/opensearchdescription+xml" title="MySite: wg autora" href="<a class="external" href="http://www.mysite.com/mysiteauthor.xml" rel="freelink">http://www.mysite.com/mysiteauthor.xml</a>">
<link rel="search" type="application/opensearchdescription+xml" title="MySite: wg tytułu" href="<a class="external" href="http://www.mysite.com/mysitetitle.xml" rel="freelink">http://www.mysite.com/mysitetitle.xml</a>">
</pre>
<p>W ten sposób witryna oferuje osobne wtyczki pozwalające na przeszukanie wg autorów i tytułów.</p>
<h2 id="Rozwi.C4.85zywanie_problem.C3.B3w_.E2.80.93_wskaz.C3.B3wki" name="Rozwi.C4.85zywanie_problem.C3.B3w_.E2.80.93_wskaz.C3.B3wki">Rozwiązywanie problemów – wskazówki</h2>
<p>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.</p>
<ul>
<li>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 <code>&amp;</code>, a każdy znacznik musi być zamknięty, albo przez ukośnik na końcu, albo przez odpowiedni znacznik zamykający.</li>
<li>Atrybut <code>xmlns</code> jest ważny; w sytuacji jego braku można otrzymać komunikat o błędzie: "Firefox nie mógł pobrać wtyczki wyszukiwarki z: (adres URL)".</li>
<li><b>Konieczne</b> jest dołączenie adresu URL typu <code>text/html</code> &ndashl wtyczki zawierające tylko adresy typu Atom lub <a href="pl/RSS">RSS</a> (poprawne, ale nie obsługiwane obecnie przez Firefoksa) również spowodują wyświetlenie powyższego komunikatu błędu.</li>
<li>Zdalne ikony witryn („favicons”) nie mogą być większe niż 10 KB (zob. {{ Bug(361923) }}).</li>
</ul>
<p>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
<i>
about:config</i>
ustawić wartość opcji '<code>browser.search.log</code>' na <code>true</code>. Informacje dziennika będą pojawiać się w <a href="pl/Konsola_b%c5%82%c4%99d%c3%b3w">Konsoli błędów</a> Firefoksa (Narzędzia->Konsola błędów) przy dodawaniu wtyczek.</p>
<h2 id="Literatura" name="Literatura">Literatura</h2>
<ul>
<li><a class="external" href="http://opensearch.org/">Dokumentacja OpenSearch</a>, <a class="external" href="http://www.opensearch.org/Specifications/OpenSearch/Extensions/Parameter/1.0">OpenSearch Documentation about the Url and Param element</a></li>
<li>Technorati.com has a <a class="external" href="http://technorati.com/osd.xml">working osd.xml</a></li>
<li>Więcej o problemach z automatycznym wykrywaniem - {{ Bug(340208) }}</li>
<li><a class="external" href="http://en.wikipedia.org/wiki/Data:_URI_scheme">Adresy URI <code>data:</code></a></li>
<li><a class="external" href="http://www.searchplugins.net">searchplugins.net</a> - tworzenie wtyczek OpenSearch dla Firefoksa 2 <a class="external" href="http://www.searchplugins.net/pluginlist.aspx">Lista wygenerowanych wtyczek</a></li>
<li><a class="external" href="http://ready.to/search/en/">Ready2Search</a> - tworzenie wtyczek OpenSearch. <a class="external" href="http://ready.to/search/make/en_make_plugin.htm">Wyszukiwanie za pomocą Ready2Search</a></li>
</ul>
<p><span class="comment">Interwiki link</span></p>
<div class="noinclude">
</div>
|