mozilla
Wyniki wyszukiwania

    Struktura paczki instalacyjnej

     

    Aplikacje XULRunner, rozszerzenia oraz motywy dzielą wspólna strukturę katalogów, a w niektórych przypadkach ta sama paczka może być używana zarówno w samodzielnej aplikacji XULRunner jak i w rozszerzeniu aplikacji, które można instalować.

     

    Podstawowa struktura paczki

    Paczka może zawierać jakikolwiek z poniższych plików:

    /install.rdfManifest instalacyjny rozszerzenia/motywu
    /application.iniManifest inicjalizacji aplikacji
    /components/*Komponenty oraz pliki XPT      (>=1.7)
    /defaults/preferences/*.jsUstawienia domyślne            (>=1.7)
    /plugins/*Wtyczki NPAPI                  (>=1.8)
    /chrome.manifestManifest rejestracji Chrome    (>=1.8)
    /chrome/icons/default/*Ikony okna                     (>=1.8)
    

    Oczywiście rozszerzenie nie musi (i normalnie nie będzie) zawierać wszystkich powyższych katalogów. Motywy podlegają ograniczeniom ze względów bezpieczeństwa i standardowo zawierają tylko chrome.manifest rejestrujący dany motyw oraz plik JAR.

    Podkatalogi zależne od platformy

    W niektórych przypadkach rozszerzenia, lub aplikacje będą chciały dołączyć składniki binarne lub wtyczki dla wielu platform, lub tez autorzy motywów będą chcieli załączyć pliki JAR dla wielu platform. W celu rozwiązania pierwszego przypadku rozszerzenie / loader aplikacji zawiera specjalne podkatalogi przeznaczone dla plików zależnych od platformy (rozpoczynając od Toolkitu/Gecko 1.8, Firefox/Thunderbird 1.5). Ciąg określający platformę jest definiowany podczas budowania toolkitu i składa się z unikalnej kombinacji systemu operacyjnego, architektury procesora oraz kompilatora. Format tegoż ciągu wygląda następująco:

    {OS_TARGET}_{TARGET_XPCOM_ABI}
    

    Wszystkie pliki ładowane z głównego katalogu rozszerzenia są ładowane z podkatalogu

    /platform/{platform string}
    

    Jeśli istnieje. Dla przykładu, jeśli producent wtyczki chce ja udostępnić dla użytkownika systemów: Linux, Macintosh i Windows to powinien dostarczyć poniższe pliki:

    /platform/Linux_x86-gcc3/plugins/libMyPlugin.so
    /platform/WINNT_x86-msvc/plugins/MyPlugin.dll
    /platform/Darwin_ppc-gcc3/plugins/libMyPlugin.dylib
    

    Ponieważ pliki XPT są niezależne od platformy, to wszystkie pliki z nimi związane powinny być za ogólnym katalogu komponentów:

    /components/MyPlugin.xpt
    

    Jeśli rozszerzenie nie posada żadnego kodu binarnego zależnego od platformy (tj. kod skryptu używający rejestrów Windows), to może ono również wykorzystywać identyfikator systemu operacyjnego jako podkatalog platformy:

    /platform/WINNT/components/registerDoctype.js
    

    W przypadku użycia plików JAR zależnych od platformy każdy katalog platformy powinien posiadać własny plik chrome.manifest:

    chrome.manifest
    chrome/mytheme-base.jar
    platform/Darwin/chrome.manifest
    platform/Darwin/chrome/mytheme-mac.jar
    platform/WINNT/chrome.manifest
    platform/WINNT/chrome/mytheme-win.jar
    

    Załadunek rozszerzenia / aplikacji rozpoczyna się od katalogów bazowych, a następnie katalogów platformy aplikacji (wpierw /{OS_TARGET}/, potem /{OS_TARGET}_{TARGET_XPCOM_ABI}/). Jeśli zdefiniowano domyślne własności w poszczególnych katalogach, te ładowane później nadpisują załadowane wcześniej.

    Pliki rozszerzeń zależne od aplikacji

    Dodatkowo do plików rozszerzeń opisanych powyżej aplikacje mogą poszukiwać dodatkowych plików. Na przykład Firefox 1.5 lub nowszy poszuka wtyczek Sherlock w plikach:

    /searchplugins/*.src
    

    Firefox 2 oraz nowsze wersje automatycznie poszukają również Tworzenie wtyczek MozSearch oraz OpenSearch w plikach:

    /searchplugins/*.xml
    

    oraz słowniki Myspell w plikach:

    /dictionaries/*.{aff|dic}
    

    Oficjalne dokumentacje Toolkit API

     

    Autorzy i etykiety dokumentu

    Contributors to this page: Ptak82, Bedi, teoli, Mgjbot
    Ostatnia aktualizacja: teoli,