有没有办法在flash中将外部swf加载到沙箱中?
我正在用Loader在我的所有flash站点中加载flash广告横幅。我无法控制横幅中的代码,因为它们来自广告商 我想加载它们,这样他们就不可能在他们有限的区域之外的网站上搞砸鼠标事件。在任何情况下,广告商横幅上的草率代码都不会破坏我网站的功能 有一个额外的问题,我如何解决横幅与我的主站点帧速率不同所引起的问题?(或者有没有一种简单的方法可以将当前绘制的动画转换为我的帧速率,同时保持与以前相同的动画速度?) 一定有人曾经处理过这些问题 最好的方法是什么有没有办法在flash中将外部swf加载到沙箱中?,flash,actionscript-3,sandbox,Flash,Actionscript 3,Sandbox,我正在用Loader在我的所有flash站点中加载flash广告横幅。我无法控制横幅中的代码,因为它们来自广告商 我想加载它们,这样他们就不可能在他们有限的区域之外的网站上搞砸鼠标事件。在任何情况下,广告商横幅上的草率代码都不会破坏我网站的功能 有一个额外的问题,我如何解决横幅与我的主站点帧速率不同所引起的问题?(或者有没有一种简单的方法可以将当前绘制的动画转换为我的帧速率,同时保持与以前相同的动画速度?) 一定有人曾经处理过这些问题 最好的方法是什么 谢谢 理论上,加载的swf未经许可无法访问
谢谢 理论上,加载的swf未经许可无法访问父对象和变量。除非您在横幅的域上执行allowDomain(),否则它将无法调用网站中的对象 您还可以执行以下一项或多项操作:
- 为横幅的加载器对象创建遮罩,以防止横幅扩展超过其指定的空间
- 使用该属性可以禁用Loader.content对象的所有鼠标事件,然后在Loader上添加一个单击事件,以导航到横幅的目标页面
我自己也玩过帧速率,但没用。孩子似乎在所有情况下都遵循父母的帧速率。唯一有效的方法是停止子系统的自动帧速率提升,并通过TimerEvent执行,但这会产生额外的处理器负载。加载外部swf时,请确保将其加载到单独的安全域和子应用程序域中。这样,它将无法访问stage鼠标和键盘事件(以及某些其他事件),并且不会有任何类定义冲突
查看此文档:我刚刚找到一个关于此的Adobe PDF:。据我所知,您希望将其加载到同级应用程序域(loadForCompatibility=true)而不是子应用程序域中,以避免您提到的类冲突。