通常,一个域中的内容无法调用其他域中的脚本。
但是仍存在这样一些情况:主 AIR 应用程序要求远程域中的内容对主 AIR 应用程序中的脚本具有受控访问权限,反之亦然。为此,运行时提供了
沙箱桥
机制,沙箱桥充当两个沙箱之间的通道。沙箱桥可以在远程安全沙箱和应用程序安全沙箱之间提供显式交互。
沙箱桥公开了以下两个对象,已加载和要加载的脚本都可以访问这两个对象:
通过沙箱桥公开的对象按值而不是按引用进行传递。所有数据都会序列化。这意味着由桥的一端公开的对象无法由另一端设置,并且公开的对象为无类型对象。此外,只能公开简单对象和函数;不能公开复杂对象。
如果子级内容尝试设置 parentSandboxBridge 对象的属性,则运行时会引发 SecurityError 异常。同样,如果父级内容尝试设置 childSandboxBridge 对象的属性,则运行时也会引发 SecurityError 异常。