--- title: Dodawanie wyszukiwarek z poziomu stron WWW slug: conflicting/Web/OpenSearch tags: - Dodatki - Wszystkie_kategorie - Wtyczki_wyszukiwarek translation_of: Web/OpenSearch translation_of_original: Web/API/Window/sidebar/Adding_search_engines_from_Web_pages original_slug: Dodawanie_wyszukiwarek_z_poziomu_stron_WWW ---
Firefox zezwala, aby kod JavaScript instalował wtyczki wyszukiwarek, i obsługuje dwa formaty wtyczek: OpenSearch i Sherlock.
Gdy kod JavaScript próbuje zainstalować wtyczkę wyszukiwarki, Firefox wyświetla komunikat z pytaniem o zgodę na instalację wtyczki.
Aby zainstalować wtyczkę OpenSearch, należy skorzystać z metody DOM window.external.AddSearchProvider(). Składnię tej metody przedstawiono poniżej:
window.external.AddSearchProvider(adresURLWtyczki);
Gdzie: adresURLWtyczki jest pełnym adresem URL do pliku XML wtyczki wyszukiwarki.
Aby zainstalować wtyczkę Sherlock, należy użyć metody window.sidebar.addSearchEngine(), składnia jest następująca:
window.sidebar.addSearchEngine(adresURLWtyczki, adresURLIkony, sugerowanaNazwa, sugerowanaKategoria);
adresURLWtyczki to adres URL wtyczki Sherlock (plik ".src"), która ma zostać zainstalowana.
adresURLIkony to adres URL ikony, która ma być powiązana z wtyczką.
sugerowanaNazwa jest używany tylko podczas monitowania użytkownika o dopuszczenie do instalacji wtyczki, aby mógł zostać wyświetlony komunikat w stylu "Czy chcesz zainstalować sugerowanaNazwa z adresURLWtyczki?".
sugerowanaKategoria nie jest używany. Powinno się pozostawić go jako pusty łańcuch znaków ("") lub wartość null.
Więcej informacji na temat formatu Sherlock można znaleźć na stronie http://developer.apple.com/macosx/sherlock/
Ponieważ uzupełniające API wyszukiwarki zmieniło się między Firefoksem 1.5 a Firefoksem 2.0 oraz ponieważ Firefox 1.5 nie wspiera plików opisu OpenSearch, autorzy stron internetowych, którzy chcą dodać silnik wyszukiwarki w sposób kompatybilny wstecznie (to znaczy tak, żeby działała ona w Firefoksie 1.5, Firefoksie 2.0 lub IE 7), muszą obsługiwać zarówno format Sherlock jak i OpenSearch oraz muszą odpowiednio wykryć możliwości przeglądarki. Poniższy fragment kodu jest przykładem w jaki sposób może to być osiągnięte:
function installSearchEngine() {
if (window.external && ("AddSearchProvider" in window.external)) {
// Firefox 2 i IE 7, OpenSearch
window.external.AddSearchProvider("http://przyklad.com/search-plugin.xml");
} else if (window.sidebar && ("addSearchEngine" in window.sidebar)) {
// Firefox <= 1.5, Sherlock
window.sidebar.addSearchEngine("http://przyklad.com/search-plugin.src",
"http://przyklad.com/search-icon.png",
"Search Plugin", "");
} else {
// Brak obsługi wyszukiwarki (IE 6, Opera, itd.).
alert("Brak obsługi wyszukiwarki");
}
}