我正在使用 Loader 在我的全 Flash 网站中加载 Flash 广告横幅。我无法控制横幅内的代码,因为它们来自广告商。
我想加载它们,这样他们就无法在他们有限的区域之外搞乱网站上的鼠标事件。广告商横幅上的草率代码在任何情况下都不应该扼杀我网站的功能。
额外的问题,我该如何解决横幅与我的主站点的帧速率不同而导致的问题?(或者有没有一种简单的方法可以将当前绘制的动画转换为我的帧速率,同时保持动画速度与以前相同?)
以前一定有人处理过这些问题。
最好的方法是什么?
谢谢!
我正在使用 Loader 在我的全 Flash 网站中加载 Flash 广告横幅。我无法控制横幅内的代码,因为它们来自广告商。
我想加载它们,这样他们就无法在他们有限的区域之外搞乱网站上的鼠标事件。广告商横幅上的草率代码在任何情况下都不应该扼杀我网站的功能。
额外的问题,我该如何解决横幅与我的主站点的帧速率不同而导致的问题?(或者有没有一种简单的方法可以将当前绘制的动画转换为我的帧速率,同时保持动画速度与以前相同?)
以前一定有人处理过这些问题。
最好的方法是什么?
谢谢!
理论上,加载的 swf 在没有权限的情况下是无法访问父级的对象和变量的。您可以在此处阅读有关 Security.allowDomain 的更多信息。除非您对横幅的域执行 allowDomain(),否则它将无法调用您网站中的对象。
您还可以执行以下一项或多项操作:
为横幅的 Loader 对象创建一个掩码,以防止横幅扩展超过其分配的空间
使用mouseChildren属性来禁用 Loader.content 对象的所有鼠标事件,然后在 Loader 上添加单击事件,以导航到横幅的目标页面
我自己玩过帧率,但无济于事。在所有情况下,孩子似乎都遵循父母的帧速率。唯一有效的是停止孩子的自动帧速率提前并通过 TimerEvent 来完成,但这会产生额外的处理器负载。
加载外部 swf 时,请确保将其加载到单独的安全域和子应用程序域中。这样它就无法访问舞台鼠标和键盘事件(以及某些其他事件),并且不会有任何类定义冲突。
查看此文档:开发和加载子应用程序
我刚刚找到了一个关于此的 Adobe PDF:加载应用程序。