Ładowanie zewnętrznego pliku SWFFlash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje W języku ActionScript 3.0 do ładowania plików SWF służy klasa Loader. Aby załadować zewnętrzny plik SWF, program w języku ActionScript musi wykonać trzy operacje:
Ostatecznie kod przyjmuje następującą postać: var request:URLRequest = new URLRequest("http://www.[yourdomain].com/externalSwf.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);
Ten sam kod może posłużyć do załadowania zewnętrznego pliku obrazu, takiego jak JPEG, GIF lub PNG — należy tylko zamiast adresu URL pliku SWF podać adres URL pliku obrazu. Plik SWF, w przeciwieństwie do plików obrazów, może zawierać kod ActionScript. Dlatego, mimo że proces ładowania pliku SWF jest identyczny z procesem ładowania obrazu, podczas ładowania zewnętrznego pliku SWF zarówno ładujący, jak i ładowany plik SWF musi rezydować w tym samym obszarze izolowanym — jeżeli pliki są odtwarzane w programie Flash Player lub środowisku AIR i planowane jest wykorzystanie kodu ActionScript do jakiejkolwiek komunikacji z zewnętrznym plikiem SWF. Ponadto, jeśli zewnętrzny plik SWF zawiera klasy należące do tej samej przestrzeni nazw, co klasy w ładującym pliku SWF, może zajść konieczność utworzenia nowej domeny aplikacji dla ładowanego pliku SWF w celu uniknięcia konfliktów nazw. Więcej informacji na temat kwestii bezpieczeństwa i domen aplikacji zawierają sekcje Praca z domenami aplikacji oraz Ładowanie treści. Po pomyślnym załadowaniu zewnętrznego pliku SWF można uzyskać do niego dostęp za pośrednictwem właściwości Loader.content. Jeśli zewnętrzny plik SWF został opublikowany dla środowiska ActionScript 3.0, właściwość ta będzie zawierała klip filmowy lub ikonkę, w zależności od tego, jaką klasę rozszerza. Uwagi dotyczące ładowania starszych plików SWFJeśli zewnętrzny plik SWF został opublikowany za pomocą starszej wersji środowiska ActionScript, należy wziąć pod uwagę pewne ważne uwarunkowania. W przeciwieństwie do plików SWF w języku ActionScript 3.0, które działają w maszynie wirtualnej AVM2 (ActionScript Virtual Machine 2), pliki SWF opublikowane dla środowiska ActionScript 1.0 lub 2.0 działają w maszynie wirtualnej AVM1 (ActionScript Virtual Machine 1). Proces ładowania pliku ActionScript 1.0 lub SWF w wersji 2.0 SWF do pliku SWF w wersji ActionScript 3.0 przebiega inaczej niż ładowanie pliku SWF w wersji ActionScript 3.0. Program Flash Player gwarantuje pełną zgodność wstecz z dotychczas opublikowanymi treściami. Wszelkie treści działające w poprzednich wersjach programu Flash Player będą działać w wersjach programu Flash Player obsługujących język ActionScript 3.0. Obowiązują jednak następujące ograniczenie:
W poniższej tabeli podsumowano ograniczenia poprzednich wersji odtwarzacza Flash Player dotyczące ładowania nowszych treści i wykonywania kodu oraz ograniczenia we wzajemnym wywoływaniu skryptów między plikami SWF utworzonymi w różnych wersjach języka ActionScript.
W poniższej tabeli „Obsługiwana funkcjonalność” oznacza treści działające w programie Flash Player 9 lub nowszych wersjach. Treści działające w programie Flash Player 8 lub starszych wersjach mogą ładować, wyświetlać, wykonywać i wywoływać tylko skrypty utworzone w języku ActionScript 1.0 i 2.0.
|
|