Dodawanie wyszukiwarek z poziomu stron WWW
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
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.
[edytuj] Instalowanie wtyczek OpenSearch
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.
[edytuj] Instalowanie wtyczek Sherlock
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);
- Parametr
adresURLWtyczkito adres URL wtyczki Sherlock (plik ".src"), która ma zostać zainstalowana. -
adresURLIkonyto adres URL ikony, która ma być powiązana z wtyczką. - Parametr
sugerowanaNazwajest 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?". - Parametr
sugerowanaKategorianie 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/
[edytuj] Wykrywanie możliwości przeglądarki z poziomu silnika wyszukiwarki
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");
}
}