调用Security.allowDomain说明[转]
allowDomain(security.allowDomain 方法)
public static allowDomain(domain1:String) :Void
允许所标识的域中的 SWF 文件和 HTML 文件访问执行调用的 SWF 文件中的对象和变量,或者是与执行调用的 SWF 文件位于同一域的任何其它 SWF 文件中的对象和变量。
在 Flash Player 7 或更高版本中播放的文件中,传递的参数必须遵守完全域命名规则。例如,若要允许位于 www.domain.com 或 store.domain.com 的 SWF 文件进行访问,则必须传递这两个域名:
以下为引用的内容: // 适用于 Flash Player 6 System.security.allowDomain("domain.com"); // 允许在 Flash Player 7 或更高版本中运行的 SWF 文件 // 访问的对应命令 System.security.allowDomain("www.domain.com", "store.domain.com"); |
此外,对于在 Flash Player 7 或更高版本中运行的文件,您不能使用此方法让使用安全协议 (HTTPS) 承载的 SWF 文件允许来自使用非安全协议承载的 SWF 文件的访问;必须改用 System.security.allowInsecureDomain() 事件处理函数。
您可能会偶尔遇到以下情况:您从另一个域中加载一个子级 SWF 文件,并想让该子级 SWF 文件对父级 SWF 文件的脚本进行操作,但您不知道该子级 SWF 文件将来自哪个最终域。例如,当您使用加载平衡重定向或第三方服务器时就可能发生这种情况。
在这种情况下,您可以使用 MovieClip._url 属性作为此方法的参数。例如,如果您将 SWF 文件加载到 my_mc 中,则可以调用 System.security.allowDomain(my_mc._url)。
如果您这样做的话,请务必等待 my_mc 中的 SWF 文件加载完毕,因为只有在该文件完全加载后,_url 属性才会具有其最终的正确值。最好是使用 MovieClipLoader.onLoadComplete 确定子级 SWF 文件何时完成加载。
也可能出现相反的情况;即,您可能创建一个子级 SWF 文件,并允许其父级编辑该子级 SWF 文件,但不知道该父级将来自哪个域。在这种情况下,可从该子级 SWF 中调用 System.security.allowDomain(_parent._url)。在这种情况下,您不必等待父级 SWF 文件加载;加载子级时,父级已经加载完毕。