• [ActionScript 3.0] AS3.0 Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain


    实际应用中, Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain,需要择情况而定。

    1、如果在本地将项目位置添加到flashplayer受信任位置(上一篇文章所述),当加载的子swf中有流存在时,比如视频或者声音,则最好需要指定新的应用程序域ApplicationDomain,如果没有指定,调用_ldr.unloadAndStop();时无法将子swf中的流从内存中卸载掉,代码如下:

    var ldr:Loader = new Loader();
    var context:LoaderContext = new LoaderContext();
    context.applicationDomain = new ApplicationDomain();
    ldr.load(new URLRequest("子swf地址"),context);

    如果没将项目位置设置为受信任位置,则调用_ldr.unloadAndStop()无影响,但有可能调试的时候会有安全沙箱问题。

    2、当加载的子swf中不存在流,但需要用自定义事件和其他swf通信时,就不能指定新的应用程序域,一旦指定,即子swf存在自己的程序域,则无法与其他swf(包括父级swf)通过自定义事件进行通信。

    var ldr:Loader = new Loader();
    var context:LoaderContext = new LoaderContext();
    context.applicationDomain = ApplicationDomain.currentDomain;
    ldr.load(new URLRequest("子swf地址"),context);
    //ldr.load(new URLRequest("子swf地址"));
  • 相关阅读:
    UVA 10462 Is There A Second Way Left?(次小生成树&Prim&Kruskal)题解
    POJ 1679 The Unique MST (次小生成树)题解
    POJ 2373 Dividing the Path (单调队列优化DP)题解
    BZOJ 2709 迷宫花园
    BZOJ 1270 雷涛的小猫
    BZOJ 2834 回家的路
    BZOJ 2506 calc
    BZOJ 3124 直径
    BZOJ 4416 阶乘字符串
    BZOJ 3930 选数
  • 原文地址:https://www.cnblogs.com/frost-yen/p/5141784.html
Copyright © 2020-2023  润新知