zoukankan      html  css  js  c++  java
  • [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地址"));
  • 相关阅读:
    [无聊测试赛] T12 道路
    [无聊测试赛] T9 矩阵覆盖
    [无聊测试赛] T10 所驼门王的宝藏
    [无聊测试赛] T8 佳佳的魔法药水
    [无聊测试赛] T7 豪华游轮
    [无聊测试赛] T6 排行榜
    【模板】三分求函数极值
    树的重心模板
    倍增最近公共祖先(LCA)
    ccf201612题解
  • 原文地址:https://www.cnblogs.com/frost-yen/p/5141784.html
Copyright © 2011-2022 走看看