MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Dodatki

Przedmowa

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ą.

Dla kogo jest 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.

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

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/sou...gin/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:

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.

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.

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.

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);

Autorzy i etykiety dokumentu

 Autorzy tej strony: zarat, Bedi, Markgo, Mgjbot, Diablownik, Kjj2, Ptak82
 Ostatnia aktualizacja: zarat,