Flash Player 6。
receiving_lc
.connect(connectionName
)
connectionName
一个字符串,对应于要与 receiving_lc
通讯的 LocalConnection.send()
命令中所指定的连接名称。
如果在同一台客户机上运行的其它进程均未使用 connectionName
参数的相同值发出此命令,则返回布尔值 true
;否则返回 false
。
方法;准备 LocalConnection 对象,以从 LocalConnection.send()
命令(称作“发送方 LocalConnection 对象”)中接收命令。与此命令一起使用的对象称作“接收方 LocalConnection 对象”。接收方对象和发送方对象必须在同一台客户机上运行。
务必要先定义附加到 receiving_lc
的方法,然后再调用此方法,如本节的所有示例所示。
默认情况下,Flash Player 将 connectionName
解析为 "
superdomain
:connectionName"
格式的值,其中 superdomain
是包含 LocalConnection.connect()
命令的 SWF 文件的超域。例如,如果包含接收方 LocalConnection 对象的 SWF 文件位于 www.someDomain.com,则 connectionName
解析为 "someDomain.com:connectionName"
。(如果 SWF 文件位于客户机上,则赋予 superdomain
的值为 "localhost"
。)
此外,在默认情况下,Flash Player 只允许接收方 LocalConnection 对象从其连接名称也解析为 "
superdomain
:connectionName"
的值的发送方 LocalConnection 对象中接受命令。这样,Flash 就使得位于同一个域中的 SWF 文件可以很容易地相互通讯。
如果您仅在同一个域中的 SWF 文件之间实现通讯,请为 connectionName
指定一个不以下划线 (_) 开头且不指定域名的字符串(例如 "myDomain:connectionName"
)。在LocalConnection.connect(
connectionName
)
命令中使用相同的字符串。
如果您在位于不同域的 SWF 文件之间实现通讯,请参见 LocalConnection.send()
中对connectionName
的讨论,以及 LocalConnection.allowDomain
和 LocalConnection.domain()
条目。
以下示例显示特定域中的 SWF 文件如何调用同一域的接收方 SWF 文件中名为 Trace
的方法。接收方 SWF 文件充当发送方 SWF 文件的跟踪窗口;它包含其它 SWF 文件可以调用的两个方法:Trace
和 Clear
。在发送方 SWF 文件中所按的按钮以指定的参数调用这些方法。
// 接收方 SWF var aLocalConnection = new LocalConnection(); aLocalConnection.Trace = function(aString) { aTextField = aTextField + aString + newline; } aLocalConnection.Clear = function() { aTextField = ""; } aLocalConnection.connect("trace"); stop();
SWF 1 包含附加到带 PushMe 标签的按钮的以下代码。当您按该按钮时,将在接收方 SWF 文件中看到句子“已按下该按钮”。
on (press) { var lc = new LocalConnection(); lc.send("trace", "Trace", "已按下该按钮。"); delete lc; }
SWF 2 包含变量名为 myText
的输入文本框以及附加到带标签 Copy 的按钮的以下代码。在您键入一些文本并按该按钮后,将在接收方 SWF 文件中看到您键入的文本。
on (press) { _parent.lc.send("trace", "Trace", _parent.myText); _parent.myText = ""; }
SWF 3 包含附加到带标签 Clear 的按钮的以下代码。当您按该按钮时,将清除(擦除)接收方 SWF 文件的跟踪窗口中的内容。
on (press) { var lc = new LocalConnection(); lc.send("trace", "Clear"); delete lc; }