Flash CS3-Dokumentation |
|||
| Programmieren mit ActionScript 3.0 > Programmieren von Anzeigeobjekten > Dynamisches Laden von Anzeigeinhalten > Angabe des zu ladenden Kontextes | |||
Wenn Sie eine externe Datei über die load()- oder loadBytes()-Methode der Loader-Klasse in Flash Player laden, können Sie optional einen context-Parameter angeben. Bei diesem Parameter handelt es sich um ein LoaderContext-Objekt.
Die LoaderContext-Klasse umfasst drei Eigenschaften, mit denen Sie den Kontext definieren können, wie der geladene Inhalt verwendet werden kann:
checkPolicyFile: Verwenden Sie diese Eigenschaft nur beim Laden eines Bildes (und nicht beim Laden einer SWF-Datei). Wenn Sie diese Eigenschaft auf true setzen, sucht der Loader auf dem Ursprungsserver nach einer domänenübergreifenden Richtliniendatei (siehe Kontrolloptionen für Websites (domänenübergreifende Richtliniendateien)). Dies ist nur dann notwendig, wenn Inhalte aus anderen Domänen stammen als die SWF-Datei, in der das Loader-Objekt enthalten ist. Wenn der Server Zugriff auf die Loader-Domäne gewährt, kann ActionScript aus SWF-Dateien in der Loader-Domäne auf Daten im geladenen Bild zugreifen. Anders ausgedrückt, Sie können mit dem Befehl BitmapData.draw() auf Daten im geladenen Bild zugreifen. Beachten Sie, dass eine SWF-Datei aus einer anderen Domäne als das Loader-Objekt Security.allowDomain() aufrufen kann, um eine bestimmte Domäne zuzulassen.
securityDomain: Verwenden Sie diese Eigenschaft nur beim Laden einer SWF-Datei (und nicht beim Laden eines Bilds). Dies ist nur dann notwendig, wenn eine SWF-Datei aus einer anderen Domäne stammt als die Datei, die das Loader-Objekt enthält. Wenn Sie diese Option angeben, sucht Flash Player nach einer domänenübergreifenden Richtliniendatei. Ist eine vorhanden, können SWF-Dateien aus Domänen, die in der domänenübergreifenden Richtliniendatei enthalten sind, auf den geladenen SWF-Inhalt verweisen (Cross-Scripting). Sie können flash.system.SecurityDomain.currentDomain als Parameter angeben. applicationDomain: Verwenden Sie diese Eigenschaft nur beim Laden einer SWF-Datei, die in ActionScript 3.0 geschrieben wurde (nicht beim Laden eines Bilds oder einer SWF-Datei, die in ActionScript 1.0 oder 2.0 geschrieben wurde). Beim Laden der Datei können Sie festlegen, ob die Datei in die gleiche Anwendungsdomäne wie die des Loader-Objekts aufgenommen werden soll, indem Sie den Parameter applicationDomain auf flash.system.ApplicationDomain.currentDomain einstellen. Indem Sie die geladene SWF-Datei in der gleichen Anwendungsdomäne platzieren, können Sie direkt auf ihre Klassen zugreifen. Dies ist insbesondere beim Laden einer SWF-Datei von Nutzen, die eingebettete Medien enthält, auf die Sie über denen zugewiesenen Klassennamen zugreifen können. Weitere Informationen finden Sie unter Verwenden der ApplicationDomain-Klasse.Im Folgenden ist ein Beispiel für die Suche nach einer domänenübergreifenden Richtliniendatei aufgeführt, wenn eine Bitmap aus einer anderen Domäne geladen wird:
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
var urlReq:URLRequest = new URLRequest("http://www.[your_domain_here].com/photo11.jpg");
var ldr:Loader = new Loader();
ldr.load(urlReq, context);
Im Folgenden ist ein Beispiel für die Suche nach einer domänenübergreifenden Richtliniendatei aufgeführt, wenn eine SWF-Datei aus einer anderen Domäne geladen wird, um diese Datei in der gleichen Sicherheits-Sandbox wie das Loader-Objekt zu platzieren. Darüber hinaus fügt der Code die Klassen in der geladenen SWF-Datei der gleichen Anwendungsdomäne wie das Loader-Objekt hinzu:
var context:LoaderContext = new LoaderContext();
context.securityDomain = SecurityDomain.currentDomain;
context.applicationDomain = ApplicationDomain.currentDomain;
var urlReq:URLRequest = new URLRequest("http://www.[your_domain_here].com/library.swf");
var ldr:Loader = new Loader();
ldr.load(urlReq, context);
Weitere Informationen finden Sie im Eintrag zur LoaderContext-Klasse im Komponenten-Referenzhandbuch für ActionScript 3.0.
Flash CS3
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/main/00000173.html