Przegląd środowiska HTML

Adobe AIR 1.0 i starsze wersje

Środowisko Adobe AIR udostępnia kompletne środowisko JavaScript przypominające przeglądarkę, w którym dostępny jest moduł renderowania HTML, model obiektów dokumentu, a także interpreter JavaScript. Środowisko JavaScript jest reprezentowane przez klasę AIR HTMLLoader. W oknach HTML obiekt HTMLLoader zawiera całą treść HTML i w rezultacie znajduje się w obiekcie NativeWindow. W treści SWF klasa HTMLLoader, która rozszerza klasę Sprite, może zostać dodana do listy wyświetlania stołu montażowego w taki sam sposób, jak inne obiekty wyświetlane. Właściwości języka Adobe® ActionScript® 3.0 klasy zostały opisane w sekcji Wywoływanie skryptów w kontenerze HTML środowiska AIR , a także w podręczniku Dokumentacja języka Adobe ActionScript 3.0 dla platformy Adobe Flash . W strukturze Flex klasa AIR HTMLLoader jest opakowana składnikiem mx:HTML. Składnik mx:HTML rozszerza klasę UIComponent, dzięki czemu może być używany bezpośrednio z kontenerami Flex. Środowisko JavaScript w składniku mx:HTML jest pod innymi względami identyczne.

Informacje o środowisku JavaScript i jego relacjach z hostem środowiska AIR

Poniższy schemat ilustruje relacje między środowiskiem JavaScript a środowiskiem wykonawczym AIR. Schemat przedstawia tylko jedno okno rodzime, ale aplikacja AIR może zawierać wiele okien. (A pojedyncze okno może zawierać wiele obiektów HTMLLoader).

Powiększ obraz
Środowisko JavaScript zawiera własne obiekty Document i Window. Kod JavaScript może oddziaływać ze środowiskiem wykonawczym AIR za pośrednictwem właściwości runtime, nativeWindow i htmlLoader. Kod ActionScript może oddziaływać ze środowiskiem JavaScript za pośrednictwem właściwości window obiektu HTMLLoader, który stanowi odwołanie do obiektu JavaScript Window. Ponadto obiekty ActionScript i JavaScript mogą wykrywać zdarzenia wywoływane przez obiekty AIR i JavaScript.

Właściwość runtime zapewnia dostęp do klas API AIR, dzięki czemu umożliwia tworzenie nowych obiektów AIR, a także tworzenie członków klasy dostępu (zwanej również klasą statyczną). W celu uzyskania dostępu do interfejsu API AIR należy dodać nazwę klasy z pakietem do właściwości runtime . Na przykład: w celu utworzenia obiektu File należy użyć instrukcji:

var file = new window.runtime.filesystem.File();
Uwaga: Pakiet SDK AIR udostępnia plik JavaScript AIRAliases.js , który definiuje bardziej wygodne aliasy dla najczęściej używanych klas AIR. Podczas importowania tego pliku można użyć krótszej nazwy air.Class zamiast nazwy window.runtime.package.Class. Przykład: obiekt File można utworzyć za pomocą metody new air.File() .

Obiekt NativeWindow udostępnia właściwości przeznaczone do kontrolowania okna na pulpicie. Ze strony HTML można uzyskać dostęp do zawierającego obiektu NativeWindow za pomocą właściwości window.nativeWindow .

Obiekt HTMLLoader udostępnia właściwości, metody i zdarzenia przeznaczone do kontrolowania sposobu ładowania i renderowania treści. Ze strony HTML można uzyskać dostęp do nadrzędnego obiektu HTMLLoader za pomocą właściwości window.htmlLoader .

Ważne: Tylko strony zainstalowane jako część aplikacji zawierają właściwości htmlLoader , nativeWindow i runtime i tylko wówczas, gdy są ładowane jako dokument najwyższego poziomu. Te właściwości nie są dodawane podczas ładowania dokumentu do ramki lub ramki pływającej. (Dokument podrzędny może uzyskać dostęp do tych właściwości w dokumencie nadrzędnym, pod warunkiem że znajduje się w tym samym obszarze izolowanym. Na przykład: dokument załadowany w ramce może uzyskiwać dostęp do właściwości runtime dokumentu nadrzędnego za pomocą parent.runtime ).

Informacje o zabezpieczeniach

Środowisko AIR wykonuje cały kod w obszarze izolowanym na podstawie domeny źródłowej. Treść aplikacji, która jest ograniczona do treści załadowanej z katalogu instalacyjnego aplikacji, jest umieszczana w obszarze izolowanym aplikacji . Dostęp do środowiska wykonawczego oraz interfejsów API AIR jest możliwy tylko dla kodu HTML i JavaScript działającego w tym obszarze izolowanym. Jednocześnie po zwróceniu wszystkich modułów obsługi dla zdarzenia load strony następuje zablokowanie najbardziej dynamicznego oceniania i wykonania kodu JavaScript w obszarze izolowanym aplikacji.

Stronę aplikacji można odwzorować do nieaplikacyjnego obszaru izolowanego poprzez załadowanie strony do ramki lub ramki pływającej, a także ustawienie dla ramki atrybutów sandboxRoot i documentRoot właściwych dla AIR. Ustawienie wartości sandboxRoot na rzeczywistą domenę zdalną umożliwia zawartości z obszaru izolowanego na generowanie skryptów dla zawartości w danej domenie. Ten sposób odwzorowania stron może być bardzo użyteczny podczas ładowania treści zdalnej oraz wywoływania skryptów dla tej treści, np. w aplikacji mash-up .

Innym sposobem umożliwiającym wymianę skryptów między treścią stanowiącą część aplikacji a treścią niebędącą częścią aplikacji, a także jedyną drogą udostępnienia treści niebędącej częścią aplikacji dostępu do interfejsów API środowiska AIR, jest utworzenie mostu obszaru izolowanego . Most nadrzędny-podrzędny umożliwia treści zawartej w podrzędnej ramce, ramce pływającej lub podrzędnym oknie na dostęp do wyznaczonych metod i właściwości zdefiniowanych w obszarze izolowanym aplikacji. I odwrotnie most podrzędny-nadrzędny umożliwia treści aplikacji dostęp do wyznaczonych metod i właściwości zdefiniowanych w obszarze izolowanym obiektu podrzędnego. Mosty obszarów izolowanych są definiowane przez właściwości parentSandboxBridge i childSandboxBridge obiektu window. Więcej informacji zawierają sekcje Zabezpieczenia HTML w środowisku Adobe AIR i Elementy ramek i ramek pływających HTML .

Informacje o wtyczkach i obiektach osadzonych

Środowisko AIR obsługuje wtyczki Adobe® Acrobat®. W celu wyświetlania dokumentów PDF wymagany jest program Acrobat lub Adobe® Reader® 8.1 (lub wyższej wersji). Obiekt HTMLLoader udostępnia właściwość przeznaczoną do sprawdzania, czy system może wyświetlić plik PDF. Treść pliku SWF może również zostać wyświetlona w środowisku HTML, ale ta funkcja jest wbudowana w środowisko AIR i nie korzysta z zewnętrznych wtyczek.

Żadne inne wtyczki Webkit nie są obsługiwane w AIR.