Documentation Flash CS3 |
|||
| Programmation avec ActionScript 3.0 > Programmation de l'affichage > Chargement dynamique de contenu à afficher > Spécification du contexte de chargement | |||
Pour le chargement d'un fichier externe dans Flash Player via la méthode load() ou loadBytes() de la classe Loader, il est possible de spécifier un paramètre context. Ce paramètre est n objet LoaderContext.
La classe LoaderContext comporte trois propriétés qui permettent de définir le contexte d'utilisation du contenu chargé :
checkPolicyFile : cette propriété est réservée au chargement d'un fichier image, pas d'un SWF. Si vous définissez cette propriété sur true, Loader recherche un fichier de régulation interdomaine sur le serveur d'origine (voir Contrôles de site Web (fichiers de régulation interdomaine)). Cette précaution n'est nécessaire que pour du contenu provenant d'un autre domaine que le fichier SWF qui contient l'objet Loader. Si le serveur accorde l'autorisation au domaine d'où provient l'objet Loader, le code ActionScript du fichier SWF provenant de ce domaine peut accéder aux données de l'image ainsi chargée. Autrement dit, vous pouvez alors utiliser la commande BitmapData.draw() pour accéder aux données de l'image. Notez qu'un fichier SWF provenant d'un autre domaine que celui de l'objet Loader peut appeler Security.allowDomain() pour autoriser un domaine spécifique.
securityDomain : cette propriété est réservée au chargement d'un fichier SWF, pas d'un fichier image. Cette propriété peut être appelée pour un fichier SWF provenant d'un autre domaine que le fichier qui contient l'objet Loader. Si cette propriété est activée, Flash Player vérifie l'existence d'un fichier de régulation interdomaine, et s'il en existe un les fichiers SWF provenant des domaines autorisés par ce fichier de régulation peuvent contrôler par programmation le contenu SWF chargé. Le paramètre est flash.system.SecurityDomain.currentDomain. applicationDomain : cette propriété ne peut être utilisée que lors du chargement d'un fichier SWF rédigé en ActionScript 3.0 (ni un fichier image, ni un fichier SWF écrit en ActionScript 1.0 ou 2.0). Lors du chargement du fichier, vous pouvez spécifier que celui-ci doit être inclus dans le même domaine d'application que l'objet Loader, en définissant le paramètre applicationDomain comme flash.system.ApplicationDomain.currentDomain. Si vous placez le fichier SWF chargé dans le même domaine d'application, vous pourrez accéder directement à ses classes, ce qui peut être utile si vous chargez un fichier SWF contenant des objets multimédia incorporés, auxquels vous pourrez alors accéder via les noms des classes qui leur sont associées. Pour plus d'informations, consultez la section Utilisation de la classe ApplicationDomain.Voici un exemple de vérification d'un fichier de régulation inter-domaines lors du chargement d'un fichier bitmap à partir d'un autre domaine :
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);
Voici un exemple de vérification d'un fichier de régulation inter-domaines lors du chargement d'un fichier SWF à partir d'un autre domaine, dans le but de placer ce fichier dans la même Sandbox de sécurité que l'objet Loader. De plus, ce code ajoute les classes du fichier SWF chargé au domaine d'application de l'objet Loader :
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);
Pour plus d'informations, reportez-vous à la description de la classe LoaderContext dans le manuel Référence du langage et des composants ActionScript 3.0.
Flash CS3
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000173.html