Dokumentacja wtyczek Gecko:Przedmowa
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Spis treści |
[edytuj] O przewodniku
Dokumentacja API wtyczek Gecko opisuje interfejs programowania aplikacji (API) dla wtyczek Netscape Gecko i dostarcza informacje jak używać tego interfejsu do tworzenia wtyczek dla przeglądarek bazowanych na Netscape Gecko takich jak Netscape 6.x, Netscape 7.0 i Mozilla.
Ogólne wprowadzenie w Podstawy i rozdział zatytułowany Przegląd tworzenia wtyczek zaczynają przewodnik. Seria rozdziałów na temat programowania takich jak Inicjacja i niszczenie, Strumienie i URL dostarczają więcej szczegółów technicznych aspektów i technik tworzenia wtyczek i posługiwania się wtyczkami.
Dokumentacja API w drugiej połowie przewodnika jest podzielona na dwie główne połowy, Interfejs programowania aplikacji (API) od strony wtyczki i Interfejs programowania aplikacji (API) od strony przeglądarki, taki dobry jak dodatkowy materiał o Struktury i Stałe.
Przewodnik został skonstruowany, więc nowi twórcy wtyczek Netscape Gecko mogą zaznajomić się z dokumentacją API i szczególnymi aspektami procesu tworzenia (np. Rysowanie i obsługa zdarzeń), ale takimi że twórcy wtyczek mogą mieć szybki dostęp do materiałów dokumentacji API, których potrzebują.
[edytuj] Kto powinien przeczytać ten przewodnik
Dokumentacja API wtyczek Netscape Gecko została stworzona dla twórców wtyczek. Chociaż dostarcza ona przegląd podstaw wtyczek i jak one pracują w przeglądarce, przewodnik zakłada, że rozumiesz jak działają wtyczki, jak one obsługują i wyświetlają media, i co to jest bazowa architektura przeglądarki, za pomocą której obsługiwane jest używanie oprogramowania wtyczek.
Przewodnik także zakłada, że ty wiesz, jak używać interfejsu programowania aplikacji, masz doświadczenie w tworzeniu oprogramowania dla przeglądarki takiego jak wtyczki, komponenty, lub dodatki, i znasz się na C/C++, języku w którym są tworzone aktualnie biblioteki i w którym są napisane wszystkie przykłady.
[edytuj] Narzędzia do tworzenia wtyczek
Środowisko do tworzenia wtyczek jest dostępne dla twórców wtyczek Netscape Gecko. To SDK jest umieszczone w źródłach Mozilli pod adresem mozilla/modules/plugin/tools/sdk. Możesz używać go za pośrednictwem
[edytuj] Tekst nagłówka
Drzewa źródeł Mozilli lub zbudować je tam i używać poza drzewem, jeśli wolisz. W obu przypadkach potrzebne jest drzewo źródeł Mozilli do rozpoczęcia tworzenia wtyczek. Możesz także zobaczyć przykładowe wtyczki z SDK i ich kod używając przeglądarki źródeł znajdującej się w sieci:
http://lxr.mozilla.org/seamonkey/source/modules/plugin/tools/sdk/
SDK jest oparte na API tworzonym oryginalnie dla przeglądarek Netscape zaczynając od Netscape 2.x. Dodatki były tworzone, kiedy Netscape 3.x i Netscape 4.x były publikowane. Obecne SDK odzwierciedla ważne zmiany związane z bazą kodu Mozilli: nie jest już obsługiwany LiveConnect dla wtyczek używanych w skryptach, istniejące wtyczki powinny być nieznacznie zmodyfikowane aby ponownie można było ich używać w skryptach; serwis przeglądarki jest teraz dostępny z wtyczek przez dostęp do menadżera serwisu.
SDK jest zaplanowane do pomocy w tworzeniu wtyczek pracujących z bazą kodu Mozilli bez posiadania w rzeczywistości całego drzewa źródeł Mozilli.
Katalog Common zawiera część implementacji metod NPAPI. Nie ma potrzeby modyfikowania plików w tym katalogu, wystarczy je dołączyć do projektu. To nie jest konieczne, ale pewne przykłady lub projekty wtyczek mogą używać swojej własnej implementacji, pliki w tym katalogu są tylko ilustracją jednego z możliwych sposobów zrobienia tego.
Sekcja Samples w tym punkcie zawiera następujące przykłady wtyczek:
[edytuj] Podstawowa wtyczka
Pokazuje gołe szczątki DLL-a wtyczki. Nie robi on dla wtyczki nic więcej niż 'Hello, World'. Podstawowa wtyczka demonstruje jak DLL wtyczki jest wywoływany i jak metody NPAPI są wywoływanej. Możesz użyć togo jako początkowego wzorca do pisania swoich własnych wtyczek.
[edytuj] Prosta wtyczka
Ten przykład wtyczki pokazuje specyficzne dla Mozilli cechy bazy kodu. Wtyczka jest używana w skrypcie JavaScript i używa serwisu dostarczanego przez przeglądarkę.
Interfejs XPCOM jest implementowany w prostej wtyczce, więc przeglądarka Mozilla jest świadoma jego zgodności. Wtyczka nie maluje nic w głównym oknie, ale raczej używa boksu JavaScript do wyświetlenia rezultatów swojej pracy. Dlatego, nie ma oddzielnego projektu dla różnych platform w tym przykładzie.
[edytuj] Wtyczka, którą można wywołać ze skryptu
Jeszcze inny przykład wtyczki używanej w skryptach. Wtyczka używana w skryptach implementują dwie rodzime metody wywoływalne z JavaScriptu, i ona maluje w głównym oknie, dlatego używa różnych projektów dla różnych ważnych platform.
[edytuj] Wtyczka bez okna
Wtyczka bez okna jest przykładem wtyczki, która nie może używać mechanizmu komunikatów głównego okna i jest uzależniona od NPP_HandleEvent aby odbierać wiadomości z graficznego interfejsu użytkownika(GUI),aby malować i wykonywać inne zadania. Ta prosta wtyczka maluje szary prostokąt w zajmowanym obszarze.
Skryptowalne próbki wtyczek wymagają, abyś wygenerował pliki wieloplatformowych bibliotek typu (XPT) i umieścił je w katalogu Mozilla Plugins wraz z plikami DLL wtyczki (dla wstecznej kompatybilności z wczesnymi wersjami Mozilla 1.0 i przeglądarką Netscape 6.x, musisz umieścić plik biblioteki typu wewnątrz katalogu Components. Aby uzyskać więcej informacji o bibliotekach typu oraz ścieżkach wtyczek, zobacz Wykrywanie wtyczek w rozdziale "Podstawy".)
Aby zweryfikować, czy Mozilla jest świadoma nowych plików .xpt, możesz spojrzeć w wygenerowanym pliku xpti.dat, gdzie biblioteki typu zostały umieszczone. Jeśli musisz, możesz wywołać netscape.plugins.refresh(), aby znaleźć nowe pliki XPT i oprogramowanie wtyczek.
Dla twórców wtyczek może się okazać pomocne debugowanie w celu wyłączenia mechanizmu przechwytywania wyjątków, który jest obecnie zaimplementowany w Mozilli w systemie Windows. Aby wyłączyć obsługę wyjątków Windows, dodaj poniższą linijką do Twojego pliku prefs.js:
user_pref("plugin.dont_try_safe_calls", true);