Podstawy korzystania z zewnętrznego interfejsu API

Flash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje

W niektórych przypadkach plik SWF może działać samodzielnie (np. jeśli zostanie użyty program Adobe® Flash® Professional, aby utworzyć projektor SWF), ale w większości sytuacji aplikacja SWF działa jako element wewnątrz innej aplikacji. Często kontenerem, który zawiera plik SWF jest plik HTML; rzadziej plik SWF jest wykorzystywany dla całości lub części interfejsu użytkownika aplikacji pulpitu.

Podczas pracy z bardziej zaawansowanymi aplikacjami może się okazać, że konieczne jest skonfigurowanie komunikacji między plikiem SWF a aplikacją kontenera. Na przykład: strona sieci Web może wyświetlać tekst lub inne informacje w HTML, jak również zawierać plik SWF w celu wyświetlania dynamicznych treści, takich jak wykres lub wideo. W takim przypadku możliwa jest taka konfiguracja, w której kliknięcie przycisku na stronie sieci Web powoduje zmianę w pliku SWF. Język ActionScript zawiera mechanizm, znany jako zewnętrzny interfejs API, który ułatwia ten typ komunikacji między ActionScript w pliku SWF a innym kodem w aplikacji kontenera.

Ważne pojęcia i terminy

Na poniższej liście objaśniono ważne terminy istotne w kontekście tego zagadnienia:

Aplikacja kontenera
Aplikacja, w której program Flash Player uruchamia plik SWF, na przykład przeglądarka internetowa i strona HTML z zawartością programu Flash Player lub aplikacja AIR ładująca plik SWF na stronie internetowej.

Projektor
Plik wykonywalny, który zawiera treść SWF i osadzoną wersję odtwarzacza Flash Player. Plik projektora można utworzyć za pomocą programu Flash Professional lub autonomicznego programu Flash Player. Projektory są często wykorzystywane do dystrybucji plików SWF na płytach CD-ROM lub w innych sytuacjach, w których ilość pobieranych danych nie ma znaczenia, a autor SWF chce upewnić się, że użytkownik będzie miał możliwość uruchomienia pliku SWF bez względu na to, jaka wersja programu Flash Player jest zainstalowana na komputerze użytkownika.

Proxy
Aplikacja pośrednia lub kod pośredni, który wywołuje kod w jednej aplikacji („aplikacji zewnętrznej”) w imieniu innej aplikacji („aplikacji wywołującej”), a następnie zwraca wartości do aplikacji wywołującej. Proxy może być używane z różnych przyczyn, między innymi:
  • W celu uproszczenia procesu tworzenia zewnętrznych wywołań funkcji poprzez przekształcanie rodzimych wywołań funkcji w aplikacji wywołującej na format zrozumiały przez aplikację zewnętrzną.

  • W celu obejścia zabezpieczeń lub innych ograniczeń, które uniemożliwiają obiektowi wywołującemu komunikację bezpośrednio z aplikacją zewnętrzną.

Serializacja
Przekształcanie obiektów lub wartości danych na format, który może być używany w celu przekazywania wartości w komunikatach między dwoma systemami programowania, np. przez Internet lub między dwiema różnymi aplikacjami działającymi na jednym komputerze.

Korzystanie z przykładów

Wiele fragmentów kodu zostało zamieszczonych w celach prezentacyjnych i nie należy ich traktować jako pełnych działających przykładów lub kodu, który sprawdza wartości. Korzystanie z zewnętrznego interfejsu API wymaga (z definicji) pisania kodu ActionScript, a także kodu w aplikacji kontenera, dlatego testowanie przykładów będzie wymagało utworzenia kontenera (np. strony sieci Web zawierającej plik SWF), a także użycia fragmentów kodu w celu oddziaływania na kontener.

W celu testowania przykładu w komunikacji między ActionScript i JavaScript:

  1. Utwórz nowy dokument, korzystając z programu Flash Professional, a następnie zapisz go na komputerze.

  2. Z głównego menu wybierz opcje Plik > Ustawienia publikowania.

  3. W oknie dialogowym Ustawienia publikowania, na karcie Formaty, upewnij się, że zaznaczone są pola wyboru Flash i HTML.

  4. Kliknij przycisk Publikuj. Wykonanie tych czynności spowoduje wygenerowanie pliku SWF i pliku HTML w tym samym folderze oraz o takiej samej nazwie, która była używana w celu zapisania dokumentu. Kliknij przycisk OK, aby zamknąć okno dialogowe Ustawienia publikowania.

  5. Usuń zaznaczenie pola wyboru HTML. Po wygenerowaniu strony HTML można ją zmodyfikować w celu dodania odpowiedniego kodu JavaScript. Usunięcie zaznaczenia pola wyboru HTML zapewnia, że po zmodyfikowaniu strony HTML program Flash nie zastąpi zmian nowym plikiem HTML podczas publikowania pliku SWF.

  6. Kliknij przycisk OK, aby zamknąć okno dialogowe Ustawienia publikowania.

  7. W aplikacji do edycji HTML lub w edytorze tekstu otwórz plik HTML, który został utworzony przez program Flash podczas publikowania pliku SWF. Do kodu źródłowego HTML dodaj znaczniki otwierające i zamykające script , a następnie między te znaczniki kod JavaScript z przykładowego fragmentu kodu:

    <script> 
    // add the sample JavaScript code here 
    </script>
  8. Zapisz plik HTML i wróć do programu Flash.

  9. Wybierz klatkę kluczową w klatce nr 1 na osi czasu, a następnie otwórz panel Operacje.

  10. Skopiuj fragment kodu ActionScript do panelu Skrypt.

  11. W menu głównym wybierz opcje Plik > Publikuj w celu zaktualizowania pliku SWF z uwzględnieniem wprowadzonych zmian.

  12. W przeglądarce sieci Web otwórz edytowaną stronę HTML, aby ją wyświetlić i przetestować komunikację między kodem ActionScript a stroną HTML.

Aby przetestować przykład kontenera komunikacji ActionScript z ActiveX:

  1. Utwórz nowy dokument, korzystając z programu Flash Professional, a następnie zapisz go na komputerze. Plik można zapisać w folderze, w którym aplikacja kontenera znajdzie plik SWF.

  2. Z menu głównego wybierz opcję Plik > Ustawienia publikowania.

  3. W oknie dialogowym Ustawienia publikowania, na karcie Formaty, upewnij się, że zaznaczone jest tylko pole wyboru Flash.

  4. W polu Plik obok pola wyboru Flash kliknij ikonę folder, aby wybrać folder, do którego zostanie opublikowany plik SWF. Wybierając lokalizację dla pliku SWF można (na przykład) zachować dokument w jednym folderze, a publikowany plik SWF umieścić w innym folderze, np. w folderze zawierającym kod źródłowy dla aplikacji kontenera.

  5. Wybierz klatkę kluczową w klatce nr 1 na osi czasu, a następnie otwórz panel Operacje.

  6. Skopiuj przykładowy kod ActionScript do panelu Skrypt.

  7. W menu głównym wybierz opcje Plik > Publikuj, aby ponownie opublikować plik.

  8. Utwórz i uruchom aplikację kontenera, aby przetestować komunikacje między kodem ActionScript a aplikacją kontenera.

Kompletne przykłady komunikacji ze stroną HTML za pomocą zewnętrznego interfejsu API zawiera następujący temat: Te przykłady zawierają pełny kod łącznie z ActionScript oraz kodem sprawdzania błędów kontenera, który powinien być używany podczas pisania kodu z użyciem zewnętrznego interfejsu API. Inny pełny przykład wykorzystania zewnętrznego interfejsu API zawiera przykład dla klasy ExternalInterface w Skorowidzu ActionScript 3.0.