调用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 文件加载;加载子级时,父级已经加载完毕。

http://www.35xs.net/html/Flash_Action3/200904/3.html

posted @ 2011-03-09 09:56  硕气书生  Views(2694)  Comments(0Edit  收藏  举报