![]() ![]() | |
Flash Player 6;行为在 Flash Player 7 中进行了更改。
my_lc.domain()
无。
一个字符串,表示当前 SWF 文件的位置的域;有关详细信息,请参见下面的“说明”。
方法;返回表示当前 SWF 文件所在位置的域的字符串。
在以 Flash Player 6 为目标播放器发布的 SWF 文件中,返回的字符串是当前 SWF 文件的超域。例如,如果 SWF 文件位于 www.macromedia.com,则此命令将返回 "macromedia.com"。
在以 Flash Player 7 或更高版本为目标播放器发布的 SWF 文件中,返回的字符串是当前 SWF 文件的确切域。例如,如果 SWF 文件位于 www.macromedia.com,则此命令将返回"www.macromedia.com"。
如果当前 SWF 文件是驻留在客户机上的本地文件,此命令将返回 "localhost"。
此命令最常见的用法是包含发送方 LocalConnection 对象的域名作为要在接收方 LocalConnection 对象中调用的方法的参数,或者与 LocalConnection.allowDomain 一起使用来接受来自指定域中的命令。如果您仅启用位于同一个域的 LocalConnection 对象之间的通讯,则可能不需要使用此命令。
在以下示例中,接收方 SWF 文件仅接受来自位于同一个域或位于 macromedia.com 的 SWF 文件的命令。
my_lc = new LocalConnection();
my_lc.allowDomain = function(sendingDomain)
{
return (sendingDomain==this.domain() || sendingDomain=="macromedia.com");
}
在下面的示例中,位于 yourdomain.com 的发送方 SWF 文件调用位于 mydomain.com 的接收方 SWF 文件中的方法。发送方 SWF 文件包含其域名作为它所调用的方法的参数,使接收方 SWF 文件能够返回对正确域中的 LocalConnection 对象的应答值。发送方 SWF 文件还指定它将只接受来自位于 mydomain.com 的 SWF 文件的命令。
为了便于参考,代码中包含了行号。事件的顺序如下:
"sum" 的连接(第 11 行)上接收命令。Flash Player 将此连"mydomain.com:sum"(请参见 LocalConnection.connect())。"result" 的 LocalConnection 对象(第 58 行)上接收应答。它还指定它将只接受来自位于 mydomain.com 的 SWF 文件的命令(第 51 行到第 53 行)。 "mydomain.com:sum" 的连接的 aSum 方法(第 59 行),然后传递以下参数:它的域 (lc.domain())、接收应答的连接的名称 ("result") 和 aSum 所使用的值(123 和 456)。aSum 方法(第 6 行):sender = "mydomain.com:result"、replyMethod = "aResult"、n1 = 123 和 n2 = 456。因此,它执行以下代码行:
this.send("mydomain.com:result", "aResult", (123 + 456));
aResult 方法(第 54 行)显示 aSum 返回的值 (579)。
// 位于 http://www.mydomain.com/folder/movie.swf 的接收方 SWF
// 包含以下代码
1 var aLocalConnection = new LocalConnection();
2 aLocalConnection.allowDomain = function()
3 {
// 允许任何域中的连接
4 return true;
5 }
6 aLocalConnection.aSum = function(sender, replyMethod, n1, n2)
7 {
8 this.send(sender, replyMethod, (n1 + n2));
9 }
10
11 aLocalConnection.connect("sum");
// 位于 http://www.yourdomain.com/folder/movie.swf 的发送方 SWF
// 包含以下代码
50 var lc = new LocalConnection();
51 lc.allowDomain = function(aDomain) {
// 只允许 mydomain.com 中的连接
52 return (aDomain == "mydomain.com");
53 }
54 lc.aResult = function(aParam) {
55 trace("The sum is " + aParam);
56 }
57
58 lc.connect("result");
59 lc.send("mydomain.com:sum", "aSum", lc.domain() + ':'+ "result",
"aResult", 123, 456);
![]() ![]() | |