Läsa in extern SWF-filFlash Player 9 och senare, Adobe AIR 1.0 och senare I ActionScript 3.0 läses SWF-filer in med klassen Loader. För att läsa in en extern SWF-fil, måste ActionScript göra fyra saker:
Koden bör slutligen se ut så här: var request:URLRequest = new URLRequest("http://www.[yourdomain].com/externalSwf.swf"); var loader:Loader = new Loader() loader.load(request); addChild(loader); Samma kod kan användas för att läsa in en extern bildfil som en JPEG-, GIF- eller PNG-bild genom att ange bildfilens URL i stället för SWF-filens URL. En SWF-fil kan, till skillnad från en bildfil, innehålla ActionScript. När du läser in en extern SWF-fil måste därför både den inläsande SWF-filen och SWF-filen som läses in finnas i samma säkerhetssandlåda om Flash Player eller AIR spelar SWF-filen, även om processen att läsa in en SWF-fil kan vara identisk med inläsningen av en bild, om du planerar att använda ActionScript för kommunikation med den externa SWF-filen. Dessutom, om den externa SWF-filen innehåller klasser som delar samma namnutrymme som klasserna i den inläsande SWF-filen, kanske du måste skapa en ny programdomän för den inlästa SWF-filen för att undvika namnutrymmeskonflikter. Mer information om säkerhet och programdomäner finns i Arbeta med programdomäner och Inläsning av innehåll. När den externa SWF-filen har lästs in, kan den nås via egenskapen Loader.content. Om den externa SWF-filen publiceras för ActionScript 3.0, kommer den att vara antingen ett filmklipp eller en sprite, beroende på vilken klass den utökar. Beaktanden för inläsning av äldre SWF-filOm den externa SWF-filen har publicerats med en äldre version av ActionScript, måste du ta hänsyn till viktiga begränsningar. Till skillnad från en ActionScript 3.0-SWF-fil som körs på AVM2 (ActionScript Virtual Machine 2), körs en SWF-fil som publicerats för ActionScript 1.0 eller 2.0 på AVM1 (ActionScript Virtual Machine 1). Det finns viktiga skillnader mellan inläsning av en SWF-fil i ActionScript 1.0 eller 2.0-format till ActionScript 3.0-format (jämfört med inläsning av en SWF-fil i ActionScript 3.0). Flash Player är fullständig bakåtkompatibel med tidigare publicerat innehåll. Allt innehåll för tidigare versioner av Flash Player fungerar även i de Flash Player-versioner som har stöd för ActionScript 3.0, men med följande begränsningar:
I följande tabeller sammanfattas begränsningarna i tidigare versioner av Flash Player när det gäller att läsa in nyare innehåll och köra koder, men också begränsningarna för korsskriptning mellan SWF-filer som skrivits i olika versioner av ActionScript.
I följande tabell gäller ”Funktioner som stöds” innehåll som körs i Flash Player 9 eller senare. Innehåll som körs i Flash Player 8 eller tidigare kan läsa in, visa, köra och korsskripta bara ActionScript 1.0 och 2.0.
|
|